Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:obj:mehrvererb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:obj:mehrvererb [2021/01/20 10:23] – [Umsetzung in Python] lutzpython:obj:mehrvererb [2021/01/20 11:45] (aktuell) – [Erklärvideo] lutz
Zeile 127: Zeile 127:
  
 </code> </code>
 +
 +Der Quelltext aus dem Abschnitt Vererbung wurde um die Klasse Hybrid ergänzt. In der Klassendefinition ''%%class Hybrid(VerbrennerPKW, ElektroPKW)%%'' erscheinen beide Elternklassen. Im Konstruktor:
 +
 +<code python>
 +def __init__(self, bezeichnung, leistung, farbe, geschwindigkeit, sitzplaetze, ladezustand, tankinhalt): # Konstruktor
 +        # Man ruft einfach beide Konstruktoren der Elternklasse auf
 +        ElektroPKW.__init__(self, bezeichnung, leistung, farbe, geschwindigkeit, sitzplaetze, ladezustand)
 +        VerbrennerPKW.__init__(self, bezeichnung, leistung, farbe, geschwindigkeit, sitzplaetze, tankinhalt)
 +</code>
 +
 +werden beide Konstruktoren der Elternklassen aufgerufen. Alternativ kann man auch einen Konstruktor aufrufen und das fehlende Attribut im Konstruktor definieren.
 +
 +Auch bei der ''%%ausgabe()%%'' wird die entsprechende Methode einer Elternklasse aufgerufen und die entsprechende ''%%print%%''-Anweisung ergänzt. 
 +
 +=====Erklärvideo=====
 +
 +{{youtube>s_zUOuGN4lo}}
 +=====Aufgaben=====
 +
 +**Aufgabe 1**
 +
 +Teste das Beispiel aus dem Video!
 +
 +**Aufgabe 2**
 +
 +Ergänze die Aufgabe 2 aus dem Abschnitt Vererbung um eine Klasse Uniklinik (Siehe UML-Diagramm) !
 +
 +{{ :python:obj:gebaeude-mehr.png?direct&400 |}}
 +
 +Schreibe für die neue Klasse die Methoden ''%%__init__%%'' und ''%%__str__%%'' und teste die Klasse an Beispielen.
 +
 +
 +
 +
python/obj/mehrvererb.1611134596.txt.gz · Zuletzt geändert: 2021/01/20 10:23 von lutz