Difference between revisions of "OOP Class7"

esse quam videri
Jump to: navigation, search
m
Line 14: Line 14:
  
  
[[OOP Arrays]]
+
{{OOP Arrays}}
  
  

Revision as of 20:51, 16 October 2007


Visual Studio 2005

Pass out MSDNAA Visual Studio 2005 DVD

Visual Studio Demo

Demo of students diagram

http://iam.colum.edu/oop/browser/browser.aspx?f=/classsource/class7/StudentDiagram/StudentDiagram

http://iam.colum.edu/oop/classsource/class7/StudentDiagram.zip


Template:OOP Arrays


Fancy Arrays

Arrays

Regular Array objects are like list collections

Arrays are groups of variables of the same type

Syntax
        type [] identifier

single dimension arrays

<csharp>string [] aryNames = new string[5];

aryNames [0] = "Feta"; aryNames [1] = "Colby"; aryNames [2] = "Gruyere"; aryNames [3] = "Edam"; aryNames [4] = "Colby";</csharp>

Arrays are actually objects and support various methods.

  • GetValue
  • IndexOf
  • LastIndexOf
  • SetValue
  • Reverse
  • Sort


GetValue

<csharp>string s = aryNames.GetValue(1).ToString();</csharp>

s="Colby"

IndexOf


<csharp>int i = Array.IndexOf(aryNames, "Colby");</csharp>

i=1

LastIndexOf

<csharp>int Lasti= Array.LastIndexOf(aryNames, "Colby");</csharp>

Lasti=4

SetValue <csharp>

   aryNames.SetValue("Gouda", 1);
   string setValue = aryNames.GetValue(1).ToString();</csharp>

Now Array(1) == "Gouda"

Reverse

Reverse reverses the array

<csharp>Array.Reverse(aryNames);</csharp>

The Reversed array looks like Reverse

0 Colby
1 Edam
2 Gruyere
3 Gouda
4 Feta

Sort

The Sort method sort the array. Arrays are sorted accourding to how objects compare to each other usually implemented using the IComparer interface

<csharp>Array.Sort(aryNames);</csharp>

The Sorted Array List Looks like

0 Colby
1 Edam
2 Feta
3 Gouda
4 Gruyere

Array Example 2

Array2.cs

Pros and Cons of working with arrays pros

  • East to use
  • Fast to alter
  • Flast to iterate though
  • Specific type of elements ( single type)

cons

  • Fixed size
  • Insterting is difficult

Collections

Collections are groups of objects. types of collections

   * set - no index
   * list - has index
   * map - has key/value pair

Set is like storing a bunch of objects in a bag. The order they are removed from the bag has nothing to do with the order they are removed. Set collections do not have a unique identifier.

List types of collections have an integer for an indexer. This gives them a unique identifier and an order.

Map types also have an index but it is not necessarily an integer. It could be anything unique.

ArrayList

The Array List of now part of System.Collections. In order to user it you must add a using statement <csharp>using System.Collections;</csharp>

create an arraylist

<csharp>ArrayList myArrayList = new ArrayList();</csharp>

add and element or two <csharp> myArrayList.Add("Feta"); myArrayList.Add("Colby"); myArrayList.Add("Gruyere"); myArrayList.Add("Edam"); myArrayList.Add("Colby"); </csharp> This produces and Array list like

Feta
Colby
Gruyere
Edam
Colby

Insert an element

<csharp>myArrayList.Insert(1,"Gouda");</csharp>

Now our ArrayList Looks like

Feta
Gouda
Colby
Gruyere
Edam
Colby

Remove an element

<csharp>//remove by index myArrayList.RemoveAt(1); //remove by data myArrayList.Remove("Colby"); //removes first occurance of Colby </csharp>

Now our Array List looks like

Feta
Gruyere
Edam
Colby

Pros and con of ArrayList Pros

  • No fixed size
  • Insert and Remove

Cons

  • Slower than arrays
  • Inefficient with memory (when the array size exceeds the upper bound .NET doubles the size of the array.

ArrayList Example

ArrayList.cs

Polymorphism

Arrays and Collections of objects allow for polymorphism.

foreach

<csharp>foreach (string n in aryNames) {

aryDropDown.Items.Add(n);

}</csharp>



Home Work

Build and Demonstrate The classes in the Student Diagram in VS2005.

Build a UML Diagram that shows your classes and how they interact.