Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
talit:tutorial_oop2 [2021-01-05 15:07] – angelegt spstalit:tutorial_oop2 [2021-01-05 16:15] (aktuell) – [Aufgabe 5 - Statisch ist nicht dynamisch!] sps
Zeile 1: Zeile 1:
-Talit OOP 2+# Tutorial OOP 2
  
 +## Setup
 +
 +Downloade und  entpacke diese ZIP-Datei: 
 +
 +{{talit:vor1.zip|Projekt VOR}}
 +
 +## Aufgabe 1 - Was ist das?
 +
 +  * Starte das Programm und beschreibe seine Funktion.
 +  * Mache dich mit dem Quellcode vertraut:
 +    * welche Module gibt es?
 +    * was passiert wo?
 +
 +## 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// 'Körper' erstellt werden.
 +  * Die bestehenden Klassen sollen von 'Körper' abgeleitet werden.
 +
 +## Aufgabe 5 - Statisch ist nicht dynamisch!
 +
 +Jeder Körper hat andere Eigenschaften (Radius, Seitenlange, ...). Bevor man zB. mit
 +
 +<code python>
 +    k = Koerper.Kugel(ls[0])
 +</code>
 +
 +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():
 +        ...
 +</code>
 +
 +  * Finde heraus, wie sich statische Methoden von dynamischen unterscheiden
 +  * Hinterlege in der abstrakten Klasse 'Koerper' die Vorlage für die statische Methode
 +  * Passe alle von 'Koerper' abgeleiteten Klassen entsprechend an
 +  * Schreibe die Benutzeroberfläche so um, dass die Parameter aus den statischen Methoden abgerufen werden. Arbeite im gesamten Programm nur noch damit!
  • talit/tutorial_oop2.1609859272.txt.gz
  • Zuletzt geändert: 2021-01-05 15:07
  • von sps