Eine Klassen-Deklaration besteht folglich aus Deklarationen von:

Ähnliche Dokumente
1 Klassen und Objekte

Objektorientierte Programmierung

Objektorientierte Programmierung

Objektorientierte Programmierung

... die Funktion Ñ Ò µ einer Klasse ÂÚÑ:

Objektorientierte Programmierung

Finden der Fehler bzw. Überprüfung der Korrektheit ist ungleich schwieriger als für sequentielle Programme:

DieUnterklasse È ÞÞ verfügtüberallemembersder Oberklasse ÓÓ wennauchnichtalledirektzugänglichsind. DieAttributeunddieObjekt-Methode ÐÓÖ µderklasse

InderKlasse À ÐØwirddieObjekt-Methode ÐØ µneu definiert. Achtungbei ËÙ mitderreihenfolgederargumente!

Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen?

Selektion (bedingte Auswahl):

Tritt ein Fehler auf und wird nicht behandelt, bricht die Programm-Ausführung ab. Beispiel:

Laden und Speichern. Konstanten-Lade-Befehle legen einen neuen Wert oben auf dem Stack ab. ÄÇ legtdagegendenwertausderi-tenzelleobenaufdem Stack ab.

¼ ÐÐ Ñ Ò ÁÒ ÐØ Ö ÎÓÖÐ ÙÒ Ò ÖÙÒ Ò ÖÙÒ ÓÒÞ ÔØ Ö ÁÒ ÓÖÑ Ø Ò ÖÙÒ Ò Ò Û Ò Ö ÁÒ ÓÖÑ Ø ÈÖÓ Ö ÑÑ Ö Ò Ò Â Ú º ¾

Beispiel: Start. Stop

Nützliche Operationen:

== ImplementierungvonbeliebigenFunktionen ËØÖ Ò

15 Fehler-Objekte: Werfen, Fangen, Behandeln

12 Abstrakte Klassen, finale Klassen und Interfaces

ÙÚ ÖÐ Ø º Ì Ð ÈÖÓ º Ö À Ù Ò Ð ÅÓÒØ ÒÙÒ Ú Ö ØØ Ä Ó Ò Ø ÖÖ º Ç ØÓ Ö ¾¼½ ÈÖÓ º Ö À Ù Ò Ð Ä Ó Òµ ÙÚ ÖÐ Ø º Ç ØÓ Ö ¾¼½ ½» ½

Ein selbstdefinierter Fehler sollte als Unterklasse von. DieKlasse Ü ÔØ ÓÒverfügtüberdieKonstruktoren

JedesObjekt(mit ÝÒ ÖÓÒ Þ -Methoden)verfügtübereine. wartender Threads sowie die Objekt-Methoden:

ËÓÖØ ÖÔÖÓ Ð Ñ ËÙ ÔÖÓ Ð Ñ ÃÓÑÔÐ Ü ØØ Ö Ò Ï ÖÙÑ Ø ÒØ Ö ÒØ Ï ÖÙÑ Ø Û Ø Ì Ð Á Ò ÖÙÒ ÂÓ ÒÒ Ë ÐÙÑ Ö Ö ËÓÖØ Ö Ò ÙÒ ËÙ Ò ¾»½

20.2 Schreiben mit Ö Ô

h : N {0, 1, 2,..., 10} k k mod 11 10, 23, 17, 42, 13, 21, 31, 1

7. Objektorientierung. Informatik II für Verkehrsingenieure

Ð ÖÙÒ ½ ÁÒØ ÖÔÓÐ Ø ÓÒ ÔÓÐÝÒÓÑ Ð ËÔÐ Ò ¾ ÆÙÑ Ö ÁÒØ Ö Ø ÓÒ ÃÐ Æ ÛØÓÒ¹ ÓØ Ï Ø Ö ÉÙ Ö ØÙÖ ÓÖÑ ÐÒ ¾» ¾

ØØÖ ÙØ Ö ÑÑ Ö ØØÖ ÙØ Ö ÑÑ Ö Ï Ð ÐѻŠÙÖ Ö ÓÑÔ Ð Ö Ò ÔØ Ö Ê Ò Ö Ï Ð ÐÑ ÍÒ Ú Ö ØØ Ë ÖÐ Ò Û Ð ÐÑ ºÙÒ ¹ º

Ò Ù Ù Ò Ë ØÞÚ ÒØ Ð Ó Ò ÖÓ ÐÛ Ö ÙÒ µ ÙÒ ÃÓÐ ÒÚ Ò¹ Ø Ð Ñ Ø ÖÓ ÐÛ Ö ÙÒ µ B A B A ØØ ÙÒ Ö Ø ÙÖ Ñ Ò Ð ØÖÓÑ Ò Ø Ý Ö ÙÐ Ó Ö ÔÒ ÙÑ Ø ËØ ÐÐ Ò Ø Ò Ò Ö Ø ÙÖ Ý Ö

Algorithmen und Datenstrukturen 06

22.6 Ein Dialog-Fenster. Aufgaben: 1. Anzeige des Spiel-Ausgangs; 2. Ermöglichen der Beendigung bzw. Wiederholung des Spiels.

21 Graphische Benutzer-Oberflächen

Ä Ü Ð Ò ÐÝ Ä Ü Ð Ò ÐÝ Ê Ò Ö Ï Ð ÐÑ ÍÒ Ú Ö ØØ Ë ÖÐ Ò Û Ð ÐÑ ºÙÒ ¹ º Ò ÅÓÓÐÝ Ë Ú Ì Ð Ú Ú ÍÒ Ú Ö ØÝ ÚÑ Ø ºØ Ùº º Ð ¾º ÆÓÚ Ñ Ö ¾¼¼

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Die abstrakte Klasse Expression:

Repetitorium Informatik (Java)

ÒÐ ØÙÒ ØÖ Ù ÖØ ÅÓÖÔ ÓÐÓ Ì ÓÖ Ø ÅÓÖÔ ÓÐÓ È Ð ÔÔ Ï Ö ÍÒ Ú Ö ØØ Ä ÔÞ Ô Ð ÔÔºÛ ÖÙÒ ¹Ð ÔÞ º ½ º ÔÖ Ð ¾¼½ ½» ¾

Chapter 1 : þÿ b e t a t h o m e C a s i n o W i l l k o m m e n s b o n u s c h a p t e r

ÖÐ ÙÒ Ò Ê ÒÑ Ò Ò Ä ÙÖ ÒØ È Ð Ö ¼º ÆÓÚ Ñ Ö ¾¼¼ ½» ¾

Das Kontrollfluss-Diagramm für Ò ¼ µ:

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

11 Abstrakte Datentypen

(A i ) t 1 A i f l. f l+1 = f l c l Ð. A t 1 l. c l,i = (A i ) t 1/(A i f l ) c l + = c l,i Ð

Ź Ö ÑÑ Ø ÑÓ ÐÐ ÖØ Ù Ö Á ÝÒØ Ø ÇÔ Ö Ø ÓÒ Ò Ð Ð Ñ ØØ Ð ØÖ Ø Ö ÑÓÖÔ Ó ÝÒØ Ø Ö Å Ö Ñ Ð ÙÒ Ø ÓÒ Ö Òº È ÓÒÓÐÓ ÙÒ Ö ØÖÖ Ð Ü Ð µ ÁÒ ÓÖÑ Ø ÓÒ Û Ö Ö Ø ÔØ Ò Ö Ë

Implementieren von Klassen

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Einstieg in die Informatik mit Java

Klassen als Datenstrukturen

11 Abstrakte Datentypen

Ê ÓØ ÓÖ º Ì Ð ÈÖÓ º Ö À Ù Ò Ð ÅÓÒØ ÒÙÒ Ú Ö ØØ Ä Ó Ò Ø ÖÖ º Å ¾¼½ ÈÖÓ º Ö À Ù Ò Ð Ä Ó Òµ Ê ÓØ ÓÖ º Å ¾¼½ ½» ½

= 27

Methoden und Wrapperklassen

11 Abstrakte Datentypen

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

ÁÒ ÐØ Ú ÖÞ Ò ÁÒ ÐØ Ú ÖÞ Ò ½ ½ Ò ÖÙÒ ½º½ ÏÓ Ö ÓÑÑ Ä º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½º¾ Ï Ò Ø ÐÐ Ö Ä º º º º º º

Einstieg in die Informatik mit Java

v = a b c d e f g h [v] =

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Chapter 1 : þÿ b e t a t h o m e U S A l e g a l c h a p t e r

Chapter 1 : þÿ a p l i c a t i e b e t a t h o m e a n d r o i d c h a p t e r

... City Trip. City Trip. City Trip! DUBLIN. CityTrip EXTRATIPPS. City-Faltplan. Mit Faltplan. Preisbewusste Nachteulen

1 Abstrakte Datentypen

Einstieg in die Informatik mit Java

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

// Objekt-Methoden: public void insert(int x) { next = new List(x,next); } public void delete() { if (next!= null) next = next.next; } public String

Vorkurs Informatik WiSe 15/16

Chapter 1 : þÿ b e t a t h o m e e n g l a n d c h a p t e r

Ö Ñ ÛÓÖ ÌÖÓÑÑ Ö ¾¼½½µ ÐÐ ØÙ Ò Ù ÑÑ Ò ÙÒ Ä Ø Ö ØÙÖ ÇÔ Þ ØØ ÒØ ÐØ Ò Ò Ø ÓÖ ÖÓÒ ÓÐ Ò ÍÒ Ú Ö ØØ Ä ÔÞ ÁÒ Ø ØÙØ Ö Ä Ò Ù Ø ½ º ÂÙÒ ¾¼½¾ ÖÓÒ ÓÐ Ò ÇÔ Þ ØØ

α : Σ γ Σ α γ : Σ α Σ γ

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

ÈÐ Ò Ö¹Ë Ô Ö ØÓÖ¹Ì ÓÖ Ñ ÚÓÒ Ä ÔØÓÒ ² Ì Ö Ò ½ µ ÄÌ Ø ÓÒ ØÖÙ ¹ Ø Ú º º Ð ÖØ Ò Ò Ð ÓÖ Ø ÑÙ Ò Û Ö Ò ÙÒ Ö Ñ ÈÖ Ø ÙÑ Ò Â Î ½º Ú ÑÔÐ Ñ ÒØ ÖØ Òº À Ö ĐÙÖ Ú ÖÛ

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Chapter 1 : þÿ b e t a t h o m e c h a p t e r


ÖÙÒ ½ ÖÙÒ ¾ ËÔ Ö ÈÖÓÞ ÓÖ» Ø Ù ÑÑ Ò ÙÒ ÂÓÒ Ë ÐÙÑ Ö Ö ¾»

OOI mit Java. Unsere Beispielklasse. Hund name: String laut: String groesse: int gewicht: int gibname(): String giblaut(): String

Universität Karlsruhe (TH)

Das Interface ÁØ ÑÄ Ø Ò Ö verlangt die Implementierung

Component. Container

Ò Ì Ò Ú º ÓÖ Ò ØÓÖ Ë Ö Ø Ô Ð ÇÖ Ò ØÓÖ Ö Ë Ö Ø Ñ Ò Ñ Ò Ë Ö Ø Ñ Ò Ñ ÒØÔÖÓÞ Ë ÙÖ Øݵ ÈÓÐ È ¹ÅÓ ÐÐ ËØ Ò Ö ÙÒ ÆÓÖÑ Ò ÞÙ ÁÌ¹Ë Ö Ø Ë Ö Ø ÓÒÞ ÔØ Ä Ø Ö ØÙÖ ¾»

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

4. Vererbung Die Klasse Object. Die Klasse Object

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Chapter 1 : þÿ b e t a t h o m e a n m e l d e n c h a p t e r

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Grundlagen der Informatik (GDI)

Programmiertechnik Objektorientierung

11. Rekursion. - Wiederholung von Anweisungen: durch Iteration und Rekursion - Anwendungsfälle der Rekursion

Chapter 1 : þÿ e i n z a h l u n g s b o n u s c o d e b w i n c h a p t e r

Chapter 1 : þÿ b e t a t h o m e L i v e - T V - V o l l b i l d c h a p t e r

Ñ Ð ØÖº Ø ÒÚ Ö Ö Ñ À ÁÆÀ ÄÌËÎ Ê Á ÀÆÁË ÁÒ ÐØ Ú ÖÞ Ò ½ Ò ÖÙÒ ½½ ½º½ Ö Ð º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½½ ½º¾ Ó

Chapter 1 : þÿ b e t a t h o m e T e n n i s A k k u m u l a t o r c h a p t e r

Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter

Chapter 1 : þÿ b e t a t h o m e c o m a g d ü s s e l d o r f c h a p t e r

Einstieg in die Informatik mit Java

ÅÓØ Ú Ø ÓÒ ÅÓØ Ú Ø ÓÒ ØÞØ ÐÐ ÒÞ Ð Ñ ÒØ Ö Ù Ø Ò ÆÙÒ À Ö Û Ö Ò Ö ÖÙÒ Û Ø Ò ÙÖ Ö µ ÌÓÓÐ ÒÙØÞÙÒ ÚÓÒ ËØ Ò Ö ÓÑÔÓÒ ÒØ Ò Ù ÒÑ Ö Ñ Ö Ù ËÓ ØÛ Ö Ø

ÌĹËÝ Ø Ñ ¾

Transkript:

Zusammenfassung: Eine Klassen-Deklaration besteht folglich aus Deklarationen von: Attributen für die verschiedenen Wert-Komponenten der Objekte; Konstruktoren zur Initialisierung der Objekte; Methoden, d.h. Operationen auf Objekten. Diese Elemente heißen auch Members der Klasse. 347

ÔÙ Ð Ð Ê Ø ÓÒ Ð ß»» ØØÖ ÙØ ÔÖ Ú Ø ÒØ Þ Ð Ö Ò ÒÒ Ö»» ÃÓÒ ØÖÙ ØÓÖ Ò ÔÙ Ð Ê Ø ÓÒ Ð ÒØ Ü ÒØ Ýµ ß Þ Ð Ö Ü Ò ÒÒ Ö Ý Ð ÔÙ Ð Ê Ø ÓÒ Ð ÒØ Üµ ß Þ Ð Ö Ü Ò ÒÒ Ö ½ Ð ººº 348

»» Ç Ø¹Å Ø Ó Ò ÔÙ Ð Ê Ø ÓÒ Ð Ê Ø ÓÒ Ð Öµ ß ÒØ Ü Þ Ð Ö ÖºÒ ÒÒ Ö ÖºÞ Ð Ö Ò ÒÒ Ö ÒØ Ý Ò ÒÒ Ö ÖºÒ ÒÒ Ö Ö ØÙÖÒ Ò Û Ê Ø ÓÒ Ð Ü Ýµ Ð ÔÙ Ð ÓÓÐ Ò ÕÙ Ð Ê Ø ÓÒ Ð Öµ ß Ö ØÙÖÒ Þ Ð Ö ÖºÒ ÒÒ Ö ÖºÞ Ð Ö Ò ÒÒ Öµ Ð ÔÙ Ð ËØÖ Ò ØÓËØÖ Ò µ ß Ò ÒÒ Ö ½µ Ö ØÙÖÒ Þ Ð Ö Ò ÒÒ Ö ¼µ Ö ØÙÖÒ Þ Ð Ö» Ò ÒÒ Ö Ö ØÙÖÒ ¹Þ Ð Öµ» ¹Ò ÒÒ Öµ Рл» Ò Ó Ð Ê Ø ÓÒ Ð 349

Bemerkungen: Jede Klasse sollte in einer separaten Datei des entsprechenden Namens stehen. DieSchlüsselworte ÔÖ Ú Ø bzw. ÔÙ Ð klassifizieren,fürwen die entsprechenden Members sichtbar, d.h. zugänglich sind. ÔÖ Ú Ø heißt:nurfürmembersdergleichenklassesichtbar. ÔÙ Ð heißt:innerhalbdesgesamtenprogrammssichtbar. Nicht klassifizierte Members sind nur innerhalb des aktuellen Package sichtbar. 350

Konstruktoren haben den gleichen Namen wie die Klasse. Es kann mehrere geben, sofern sie sich im Typ ihrer Argumente unterscheiden. Konstruktoren haben keine Rückgabewerte und darum auch keinen Rückgabetyp. MethodenhabendagegenstetseinenRückgabe-Typ,evt. ÚÓ. ÔÙ Ð ÚÓ Ò ÒØ µ ß Þ Ð Ö Þ Ð Ö Ò ÒÒ Ö Ð 351

DieObjekt-Methode Ò µmodifiziertdasobjekt,fürdassie aufgerufen wurde. a zaehler nenner 3 4 º Ò µ a zaehler nenner 7 4 b 1 352

DieObjekt-Methode ÕÙ Ð µistnötig,daderoperator bei Objekten die Identität der Objekte testet, d.h. die Gleichheit derreferenz!!! DieObjekt-Methode ØÓËØÖ Ò µlieferteine ËØÖ Ò -DarstellungdesObjekts. Sie wird implizit aufgerufen, wenn das Objekt als Argument für die Konkantenation + auftaucht. Innerhalb einer Objekt-Methode/eines Konstruktors kann auf die Attribute des Objekts direkt zugegriffen werden. ÔÖ Ú Ø -KlassifizierungbeziehtsichaufdieKlassenichtdas Objekt:dieAttributealler Ê Ø ÓÒ Ð-Objektesindfür sichtbar!! 353

Eine graphische Visualisierung der Klasse Rational, die nur die wesentliche Funktionalität berücksichtigt, könnte so aussehen: Rational zaehler : int nenner : int + + + add (y : Rational) : Rational equals (y : Rational) : boolean tostring () : String 354

Diskussion und Ausblick: Solche Diagramme werden von der UML, d.h. der Unified Modelling Language bereitgestellt, um Software-Systeme zu entwerfen ( Software Engineering) Für eine einzelne Klasse lohnt sich ein solches Diagramm nicht wirklich :-) Besteht ein System aber aus sehr vielen Klassen, kann man damit die Beziehungen zwischen verschiedenen Klassen verdeutlichen :-)) Achtung: UML wurde nicht speziell für Java entwickelt. Darum werden Typen abweichend notiert. Auch lassen sich manche Ideen nicht eindeutig oder nur schlecht modellieren :-( 355

Diskussion und Ausblick: Solche Diagramme werden von der UML, d.h. der Unified Modelling Language bereitgestellt, um Software-Systeme zu entwerfen ( Software Engineering) Für eine einzelne Klasse lohnt sich ein solches Diagramm nicht wirklich :-) Besteht ein System aber aus sehr vielen Klassen, kann man damit die Beziehungen zwischen verschiedenen Klassen verdeutlichen :-)) Achtung: UML wurde nicht speziell für Java entwickelt. Darum werden Typen abweichend notiert. Auch lassen sich manche Ideen nicht eindeutig oder nur schlecht modellieren :-( 356

10.1 Klassen-Attribute Objekt-Attribute werden für jedes Objekt neu angelegt, Klassen-Attribute einmal für die gesamte Klasse :-) Klassen-AttributeerhaltendieQualifizierung Ø Ø. ÔÙ Ð Ð ÓÙÒØ ß ÔÖ Ú Ø Ø Ø ÒØ ÓÙÒØ ¼ ÔÖ Ú Ø ÒØ Ò Ó»» ÃÓÒ ØÖÙ ØÓÖ ÔÙ Ð ÓÙÒØ µ ß Ò Ó ÓÙÒØ ÓÙÒØ Ð ººº л» Ò Ó Ð ÓÙÒØ 357

Modellierung: Count + + static count info : int : int + Count () Die Zusatzinformation, dass das Attribut ÓÙÒØ statisch ist, wird in in spitzen Klammern im Diagramm vermerkt. Solche Annotationen heißen Stereotype. 358

count 0 ÓÙÒØ Ò Û ÓÙÒØ µ 359

count 1 ÓÙÒØ Ò Û ÓÙÒØ µ a info 0 360

count 2 ÓÙÒØ Ò Û ÓÙÒØ µ a info 0 b info 1 361

count 3 a info 0 b info 1 c info 2 362

Das Klassen-Attribut ÓÙÒØ zählt hier die Anzahl der bereits erzeugten Objekte. DasObjekt-Attribut Ò ÓenthältfürjedesObjekteine eindeutige Nummer. Außerhalb der Klasse Class kann man auf eine öffentliche Klassen-Variable name mithilfe von Classºname zugegreifen. Objekt-Methoden werden stets mit einem Objekt aufgerufen... dieses Objekt fungiert wie ein weiteres Argument :-) Funktionen und Prozeduren der Klasse ohne dieses implizite Argument heißen Klassen-Methoden und werden durch das Schlüsselwort Ø Ø kenntlichgemacht. 363

Das Klassen-Attribut ÓÙÒØ zählt hier die Anzahl der bereits erzeugten Objekte. DasObjekt-Attribut Ò ÓenthältfürjedesObjekteine eindeutige Nummer. Außerhalb der Klasse Class kann man auf eine öffentliche Klassen-Variable name mithilfe von Classºname zugegreifen. Objekt-Methoden werden stets mit einem Objekt aufgerufen... dieses Objekt fungiert wie ein weiteres Argument :-) Funktionen und Prozeduren der Klasse ohne dieses implizite Argument heißen Klassen-Methoden und werden durch das Schlüsselwort Ø Ø kenntlichgemacht. 364

In Ê Ø ÓÒ Ð könntenwirdefinieren: ÔÙ Ð Ø Ø Ê Ø ÓÒ Ð ÒØÌÓÊ Ø ÓÒ Ð ÖÖ Ý ÒØ µ ß Ê Ø ÓÒ Ð Ò Û Ê Ø ÓÒ Ð ºÐ Ò Ø ÓÖ ÒØ ¼ ºÐ Ò Ø µ Ò Û Ê Ø ÓÒ Ð µ Ö ØÙÖÒ Ð DieFunktionerzeugtfüreinFeldvon ÒØ seinentsprechendes Feldvon Ê Ø ÓÒ Ð-Objekten. Außerhalb der Klasse Class kann die öffentliche Klassen-Methode meth() mithilfe von Classºmeth ºººµ aufgerufen werden. 365

In Ê Ø ÓÒ Ð könntenwirdefinieren: ÔÙ Ð Ø Ø Ê Ø ÓÒ Ð ÒØÌÓÊ Ø ÓÒ Ð ÖÖ Ý ÒØ µ ß Ê Ø ÓÒ Ð Ò Û Ê Ø ÓÒ Ð ºÐ Ò Ø ÓÖ ÒØ ¼ ºÐ Ò Ø µ Ò Û Ê Ø ÓÒ Ð µ Ö ØÙÖÒ Ð DieFunktionerzeugtfüreinFeldvon ÒØ seinentsprechendes Feldvon Ê Ø ÓÒ Ð-Objekten. Außerhalb der Klasse Class kann die öffentliche Klassen-Methode meth() mithilfe von Classºmeth ºººµ aufgerufen werden. 366

11 Ein konkreter Datentyp: Listen Nachteil von Feldern: feste Größe; Einfügen neuer Elemente nicht möglich; Streichen ebenfalls nicht :-( Idee: Listen info 7 info 0 info 3 info 13 null 367

...dasheißt: Ò Ó ==ElementderListe; Ò ÜØ ==VerweisaufdasnächsteElement; ÒÙÐÐ == leeres Objekt. Operationen: ÚÓ Ò ÖØ ÒØ Üµ ÚÓ Ð Ø µ ËØÖ Ò ØÓËØÖ Ò µ : fügtneuesxhinterdemaktuellenelementein; : entferntknotenhinterdemaktuellenelement; : lieferteinestring-darstellung. 368

Modellierung: List + info : int + + insert (x: int) : void + delete () : void + tostring() : String Die Rauten-Verbindung heißt auch Aggregation. 369

info 7 info 0 info 3 info 13 null list t.insert(4); t 370

info 7 info 0 info 3 info 13 null list t info 4 371

info 7 info 0 info 3 info 13 null list t.delete(); t 372

info 7 info 0 info 3 info 13 null list t 373

Weiterhin sollte man... eine Liste auf Leerheit testen können; Achtung: das ÒÙÐÐ-Objekt versteht keinerlei Objekt-Methoden!!!... neue Listen bauen können, d.h. etwa:... eine ein-elementige Liste anlegen können;... eine Liste um ein Element verlängern können;... Listen in Felder und Felder in Listen umwandeln können. 374

Weiterhin sollte man... eine Liste auf Leerheit testen können; Achtung: das ÒÙÐÐ-Objekt versteht keinerlei Objekt-Methoden!!!... neue Listen bauen können, d.h. etwa:... eine ein-elementige Liste anlegen können;... eine Liste um ein Element verlängern können;... Listen in Felder und Felder in Listen umwandeln können. 375

ÔÙ Ð Ð Ä Ø ß ÔÙ Ð ÒØ Ò Ó ÔÙ Ð Ä Ø Ò ÜØ»» ÃÓÒ ØÖÙ ØÓÖ Ò ÔÙ Ð Ä Ø ÒØ Ü Ä Ø Ðµ ß Ò Ó Ü Ò ÜØ Ð Ð ÔÙ Ð Ä Ø ÒØ Üµ ß Ò Ó Ü Ò ÜØ ÒÙÐÐ Ð ººº 376