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 15:12] – sps | talit:tutorial_oop2 [2021-01-05 16:15] (aktuell) – [Aufgabe 5 - Statisch ist nicht dynamisch!] sps | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
Downloade und entpacke diese ZIP-Datei: | Downloade und entpacke diese ZIP-Datei: | ||
+ | {{talit: | ||
- | ## Aufgabe 1 | + | ## Aufgabe 1 - Was ist das? |
* Starte das Programm und beschreibe seine Funktion. | * Starte das Programm und beschreibe seine Funktion. | ||
Zeile 13: | Zeile 14: | ||
* was passiert wo? | * was passiert wo? | ||
- | ## Aufgabe 2 | + | ## Aufgabe 2 - Mehrere Kugeln |
+ | * Es soll als erstes abgefragt werden, wieviele Kugeln berechnet werden sollen. | ||
+ | * Danach soll für jede der n Kugeln der Radius eingegeben werden können. | ||
+ | * Schliesslich soll die Ausgabe als Tabelle erfolgen: | ||
+ | * Zunächst die Kugelnummer auf einer Zeile, getrennt durch einen Tabstopp | ||
+ | * Darunter folgt eine Zeile mit den erfassten Radien | ||
+ | * Die nächsten beiden Zeilen enthalten alle Oberflächen und Volumina. | ||
+ | * Die Nachkommastellen sollen alle einheitlich auf 2 Stellen gerundet sein. | ||
+ | * Die Zahlen sollen alle rechts ausgerichtet sein. | ||
+ | |||
+ | ## Aufgabe 3 - Weitere Körper | ||
+ | |||
+ | * Neben der Kugel sollen weitere Körper berechnet werden können. | ||
+ | * Füge die entsprechenden Klassen hinzu | ||
+ | * Programmiere die notwendige Benutzeroberfläche | ||
+ | |||
+ | |||
+ | |||
+ | ## Aufgabe 4 - Alles Körper! | ||
+ | |||
+ | 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! | ||
+ | |||
+ | 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! |