polymorphismus:abstractclasses:problems
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
polymorphismus:abstractclasses:problems [2023/03/13 07:44] – Martin Pabst | polymorphismus:abstractclasses:problems [2023/03/14 10:48] (aktuell) – [Hauptprogramm] Martin Pabst | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
| | ||
| | ||
- | boolean weiblich; | + | char geschlecht; // Werte ' |
| | ||
Zeile 33: | Zeile 33: | ||
} | } | ||
</ | </ | ||
+ | Bei jeder Person wird ein Textgenerator-Objekt gespeichert, | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Hauptprogramm ====== | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Textgenerator formell = new TextgeneratorFormell(); | ||
+ | Textgenerator vertraut = new TextgeneratorVertraut(); | ||
+ | |||
+ | Person[] personen = { | ||
+ | new Person(" | ||
+ | new Person(" | ||
+ | new Person(" | ||
+ | new Person(" | ||
+ | }; | ||
+ | |||
+ | |||
+ | for (int i = 0; i < personen.length; | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <script type=" | ||
+ | abstract class Textgenerator { | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | } | ||
+ | |||
+ | class Person { | ||
+ | | ||
+ | | ||
+ | char geschlecht; | ||
+ | | ||
+ | |||
+ | | ||
+ | Textgenerator textgenerator) { | ||
+ | this.rufname = rufname; | ||
+ | this.familienname = familienname; | ||
+ | this.geschlecht = geschlecht; | ||
+ | this.textgenerator = textgenerator; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | <script type=" | ||
+ | class TextgeneratorFormell extends Textgenerator { | ||
+ | |||
+ | public void anrede(Person p) { | ||
+ | | ||
+ | switch(p.geschlecht) { | ||
+ | case ' | ||
+ | print(" | ||
+ | break; | ||
+ | case ' | ||
+ | print(" | ||
+ | break; | ||
+ | case ' | ||
+ | print(" | ||
+ | break; | ||
+ | | ||
+ | |||
+ | } | ||
+ | | ||
+ | } | ||
+ | |||
+ | public void schlusssatz(Person p) { | ||
+ | | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Aufgaben ===== | ||
+ | <WRAP center round todo 80%> | ||
+ | * a) Zeichne ein Klassendiagramm (Klassen mit Methoden, ohne Attribute). | ||
+ | * b) Schreibe die Klasse '' | ||
+ | * c) Ergänze die Textgeneratoren durch eine Methode '' | ||
+ | </ | ||
+ | |||
polymorphismus/abstractclasses/problems.1678693470.txt.gz · Zuletzt geändert: 2023/03/13 07:44 von Martin Pabst