listen:trennungstrukturdaten:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
listen:trennungstrukturdaten:start [2024/09/27 07:11] – [Klassendiagramm] Martin Pabst | listen:trennungstrukturdaten:start [2024/09/27 08:03] (aktuell) – [Klassendiagramm] Martin Pabst | ||
---|---|---|---|
Zeile 17: | Zeile 17: | ||
* {{: | * {{: | ||
* {{: | * {{: | ||
+ | |||
+ | [[https:// | ||
Bei Aggregation, | Bei Aggregation, | ||
Zeile 22: | Zeile 24: | ||
**Vorgehen in Prüfungen (auch Abitur):** \\ | **Vorgehen in Prüfungen (auch Abitur):** \\ | ||
Der Lehrplan unterscheidet die Fälle Aggregation, | Der Lehrplan unterscheidet die Fälle Aggregation, | ||
- | **Das Symbol für Vererbung (Dreieckpfeil) wird aber sehr wohlverwendet.** | + | **Das Symbol für Vererbung (Dreieckpfeil) wird aber sehr wohl verwendet.** |
</ | </ | ||
===== Umsetzung in Java ===== | ===== Umsetzung in Java ===== | ||
- | === Die Klasse | + | === Die Klasse |
Die Klasse '' | Die Klasse '' | ||
<code learnj> | <code learnj> | ||
Zeile 41: | Zeile 43: | ||
<code learnj> | <code learnj> | ||
public class Warteschlange { | public class Warteschlange { | ||
- | private | + | Knoten |
- | + | Knoten ende; | |
} | } | ||
public class Knoten { | public class Knoten { | ||
- | private | + | Knoten nachfolger; |
- | | + | Kunde daten; |
- | + | ||
- | | + | |
- | | + | this.daten = kunde; |
- | } | + | |
} | } | ||
</ | </ | ||
Zeile 147: | Zeile 149: | ||
<script type=" | <script type=" | ||
- | Supermarktkasse | + | Warteschlange |
s.hintenAnstellen(new Kunde(" | s.hintenAnstellen(new Kunde(" | ||
s.hintenAnstellen(new Kunde(" | s.hintenAnstellen(new Kunde(" | ||
Zeile 153: | Zeile 155: | ||
s.hintenAnstellen(new Kunde(" | s.hintenAnstellen(new Kunde(" | ||
- | println(s.getAnzahlIterativ()); | + | println(s.hatKunde(" |
+ | println(s.hatKunde(" | ||
- | println(s.erstenEntnehmen().name); | ||
- | println(s.erstenEntnehmen().name); | ||
- | println(s.erstenEntnehmen().name); | ||
- | + | class Warteschlange | |
- | class Supermarktkasse | + | |
| | ||
| | ||
Zeile 201: | Zeile 200: | ||
int getAnzahlRekursiv() { | int getAnzahlRekursiv() { | ||
if(anfang == null) return 0; | if(anfang == null) return 0; | ||
- | return anfang.getAnzahlRekursiv(); | + | return anfang.getAnzahl(); |
} | } | ||
+ | |||
+ | Kunde gibDenNtenKunden(int n) { | ||
+ | if(n == 0) return anfang.getDaten(); | ||
+ | return anfang.gibDenNtenKunden(n); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(anfang == null) return false; | ||
+ | return anfang.hatKunde(name); | ||
+ | } | ||
+ | |||
} | } | ||
Zeile 213: | Zeile 223: | ||
} | } | ||
- | | + | boolean hatKunde(String name) { |
+ | if(daten.name == name) return true; | ||
+ | if(nachfolger == null) return false; | ||
+ | return nachfolger.hatKunde(name); | ||
+ | } | ||
+ | |||
+ | int getAnzahl() { | ||
if(nachfolger == null) return 1; | if(nachfolger == null) return 1; | ||
- | return nachfolger.getAnzahlRekursiv() + 1; | + | return nachfolger.getAnzahl() + 1; |
} | } | ||
Zeile 228: | Zeile 244: | ||
Kunde getDaten() { | Kunde getDaten() { | ||
return daten; | return daten; | ||
+ | } | ||
+ | |||
+ | Kunde gibDenNtenKunden(int n) { | ||
+ | if(n == 1) return daten; | ||
+ | if(nachfolger != null) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | // Fehler: n ist zu groß! | ||
+ | return null; | ||
} | } | ||
} | } | ||
Zeile 237: | Zeile 263: | ||
this.name = name; | this.name = name; | ||
} | } | ||
- | } | + | }</ |
- | </ | + | |
</ | </ |
listen/trennungstrukturdaten/start.1727421082.txt.gz · Zuletzt geändert: 2024/09/27 07:11 von Martin Pabst