Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:archiv:m320:learningunits:lu99:aufgaben:lu08-aufgabe_5 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1modul:archiv:m320:learningunits:lu99:aufgaben:lu08-aufgabe_5 [2026/08/30 14:06] (aktuell) – ↷ Seite von modul:m320:learningunits:lu99:aufgaben:lu08-aufgabe_5 nach modul:archiv:m320:learningunits:lu99:aufgaben:lu08-aufgabe_5 verschoben msuter
Zeile 1: Zeile 1:
 +===== Aufgabe 6 - Duck-Typing nutzen =====
  
 +=== Ziel ===  
 +Sie wissen wie Sie Duck-Typing nutzen, um ein Objekt etwas tun zu lassen, falls es das kann.  
 +  
 +=== Hinweise ===
 +  * Klonen Sie dieses Repository: [[https://github.com/bzz-fgict/M320_LU08_Aufgabe5]].  
 +  * Führen Sie das Programm ''animals.py'' aus.  
 +  * Kontrollieren Sie die Ausgabe (siehe ''output.txt'').  
 +  
 +=== Auftrag Code-Analyse ===
 +  - Zählen Sie alle Methoden auf, worüber Duck-Typing erfolgt (Tipp: Es sind mehr als zwei 😉).   
 +  - Finden Sie die beiden Funktionen, welche dem Duck-Typing hier zu einer sichereren Ausführung verhelfen und  erläutern Sie, wie das passiert.  
 +  
 +Halten Sie Ihre Antworten fest in der Datei ''code_analysis.md'' und geben Sie sie ab via Moodle.   
 +
 +Wie Sie sicher festgestellt haben, kommt die Methode ''who_are_you'' auf allen Klassen vor. Zudem ist sie jeweils  gleich implementiert. Es bietet sich also an, sie in eine neue Basisklasse auszulagern.  
 +
 +=== Auftrag Repetition Vererbung ===
 +  - Vervollständigen Sie dafür die Klasse ''Animals'' mit der (nicht abstrakten!) Methode ''who_are_you''.  
 +  - Sorgen Sie dafür, dass alle nötigen Klassen davon erben und entfernen Sie den obsoleten Code.  
 +  - Führen Sie das Programm aus kontrollieren Sie dessen Ausgabe.  
 +  
 +Geben Sie die modifizierte Datei ''animals.py'' ab via Moodle.