Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
talit:tutorial_oop2 [2021-01-05 16:00] – [Aufgabe 4 - Alle Körper sind Körper!] sps | talit:tutorial_oop2 [2021-01-05 16:15] (aktuell) – [Aufgabe 5 - Statisch ist nicht dynamisch!] sps | ||
---|---|---|---|
Zeile 35: | Zeile 35: | ||
## Aufgabe 4 - Alles Körper! | ## Aufgabe 4 - Alles Körper! | ||
- | Alle bisherigen Körper haben exakt die gleichen Methoden | + | Alle bisherigen Körper haben exakt die gleichen Methoden. Daher würde es für später noch hinzukommende Körper Sinn machen, eine Vorlage für alle Körper zu erstellen und sie für die bisherigen und auch alle weiteren Körper zu verwenden. |
+ | |||
+ | * Es soll eine //abstrakte Klasse// ' | ||
+ | * Die bestehenden Klassen sollen von ' | ||
## Aufgabe 5 - Statisch ist nicht dynamisch! | ## Aufgabe 5 - Statisch ist nicht dynamisch! | ||
- | sdf | + | Jeder Körper hat andere Eigenschaften (Radius, Seitenlange, |
+ | |||
+ | <code python> | ||
+ | k = Koerper.Kugel(ls[0]) | ||
+ | </ | ||
+ | |||
+ | einen neuen Körper erstellen kann, muss man ja vom Benutzer die Parameter abfragen. Eine sog. //statische Methode// params() soll eine Liste aller benötigten Parameter liefern. | ||
+ | |||
+ | Statische Methoden werden in Python so deklariert: | ||
+ | |||
+ | <code python> | ||
+ | @staticmethod | ||
+ | def params(): | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | * Finde heraus, wie sich statische Methoden von dynamischen unterscheiden | ||
+ | * Hinterlege in der abstrakten Klasse ' | ||
+ | * Passe alle von ' | ||
+ | * Schreibe die Benutzeroberfläche so um, dass die Parameter aus den statischen Methoden abgerufen werden. Arbeite im gesamten Programm nur noch damit! |