Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.2 Mange objekter.

Liknende presentasjoner


Presentasjon om: "Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.2 Mange objekter."— Utskrift av presentasjonen:

1 Containerklasser – klassifikation og brug

2  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.2 Mange objekter Containerklasser –antag at man skal repræsentere et kartotek over studerende på dette kursus –der er behov for en klasse der kan modellere begrebet student –der er også behov for et særligt containerobjekt der kan opbevare student- objekterne –i Java findes en række forskellige containerklasse –containerklasserne er organiseret i et klassifikationshierarki HashSet impl Set TreeSet impl SortedSet ArrayList impl List LinkedList impl List HashMap impl Map TreeMap impl SortedMap Interfaces (specifikation) Klasser (implementation)

3  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.3 Forskellige collections { 4, 5, 1, 7 }  { 7, 5, 1, 4 } { 1, 4, 5, 7 } [ 4, 5, 1, 7 ]  [ 7, 5, 1, 4 ] { (”gigantisk”, ”gigantic”), (”abe”, ”monkey”) } { (”abe”, ”monkey”), (”gigantisk”, ”gigantic”) } Collection –samlebegreb for Set og List Set –uordnet samling objekter SortedSet –sorteret samling objekter List –ordnet samling objekter (rækkefølgen har betydning) –0, 1,..., size()-1 Map –uordnet mængde af par SortedMap –sorteret mængde af par

4  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.4 Collection –generelt interface for collections –kan opbevare objekter af typen Object –bøvl med simple typer (wrapper-klasser) Simpel typeWrapper intInteger booleanBoolean charChar public interface Collection { boolean add(Object o); boolean addAll (Collection c); void clear(); boolean contains (Object o); boolean isEmpty(); Iterator iterator(); boolean remove(Object o); boolean removeAll(Collection c); int size();... }

5  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.5 Eksempel public class CollectionTest { public static void test() { Person p; Collection c = new ArrayList(); p = new Person( "Bruce Springsteen", 51 ); c.add(p); p = new Person( "Paul McCartney ", 59 ); c.add(p); p = new Person( "Michael Caspersen", 40 ); c.add(p);... Iterator i = c.iterator() while ( i.hasNext() ) { p = (Person) i.next(); // nødvendig downcast if ( p.teenager() ) { System.out.println(p); }

6  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.6 Iterator –et interface der fastlægger hvordan man itererer over objekterne i en container –fordrer ikke kendskab til den konkrete organisering af containeren –virker for vilkårlig container –containere tilbyder en metode, iterator, der returnerer et Iterator-objekt til den pågældende container public interface Iterator { boolean hasNext(); Object next(); void remove(); }

7  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.7 Modellering med mængder Collections –ofte har man behov for i en klassemodel at operere med mængder (samlinger) af objekter –eksempler et videoregister en samling af videoer en video er en samling af optagelser en vennekreds er en samling personer UML –i UML beskrives mængder som en egenskab ved relationen mellem to klasser (begreber) VideoOptagelse VennekredsPerson * * Videoregister *


Laste ned ppt "Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.2 Mange objekter."

Liknende presentasjoner


Annonser fra Google