aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-10-17 22:25:13 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-10-17 22:25:13 +0200
commit6d363bfcc2fec68c78175b38b26d57d8db825349 (patch)
tree55352c9dbe65f8c93abfa4d905a8944437f69429
parentaf582cc1bc5dd77707dcfc205b51c31d738e407f (diff)
downloadunterricht-6d363bfcc2fec68c78175b38b26d57d8db825349.tar.gz
unterricht-6d363bfcc2fec68c78175b38b26d57d8db825349.zip
list: fix kompositum impl and add second version of elementEntfernen
-rw-r--r--Info/12/Listen/Kompositum/slides.md27
1 files changed, 25 insertions, 2 deletions
diff --git a/Info/12/Listen/Kompositum/slides.md b/Info/12/Listen/Kompositum/slides.md
index cbda020b..e06cedb3 100644
--- a/Info/12/Listen/Kompositum/slides.md
+++ b/Info/12/Listen/Kompositum/slides.md
@@ -434,7 +434,8 @@ class Abschluss {
```java
class Liste { // [...]
void elementEntfernen(Daten daten) {
- anfang.elementEntfernen(daten);
+ if (anfang.datenGeben() == daten) { vorneEntfernen(); }
+ else { anfang.elementEntfernen(daten); }
}
}
class Eintrag {
@@ -447,7 +448,29 @@ class Eintrag {
}
}
class Abschluss {
- Daten elementEntfernen(Daten daten) { }
+ void elementEntfernen(Daten daten) { }
+}
+```
+
+## Implementierung: `Daten elementEntfernen(daten)` v2
+
+```java
+class Liste { // [...]
+ void elementEntfernen(Daten daten) {
+ anfang = anfang.elementEntfernen(daten);
+ }
+}
+class Eintrag {
+ void elementEntfernen(Daten daten) {
+ if (this.datenGeben() == daten) {
+ return naechsterGeben();
+ }
+ nachfolger = nachfolger.elementEntfernen(daten);
+ return this;
+ }
+}
+class Abschluss {
+ void elementEntfernen(Daten daten) { return this; }
}
```