Ich habe die Family
und ihre vererbten Person
-Klassen. Wie bekomme ich das Attribut familyName
aus der Klasse Person
?
Lassen Sie zum Beispiel diese Family
und Person
Objekte:
Ich möchte etwas tun wie:
%Vor% und erhalten 'Strauss'
. Wie kann ich das tun?
Sie können nicht.
Instanzen erben nur die Methoden und Attribute der Elternklasse, nicht die Instanz Attribute. Sie sollten die beiden nicht verwechseln.
strauss.familyName
ist ein Instanz Attribut einer Family
Instanz. Die Person
-Instanzen hätten ihre eigenen Kopien des familyName
-Attributs.
Normalerweise würde der Person
-Konstruktor zwei Argumente enthalten:
Ein alternativer Ansatz wäre, dass Person
einen Verweis auf eine Family
-Instanz enthält:
wobei Person
nicht mehr von Family
erbt. Benutze es wie:
Zusätzlich zu Martijns Vorschlägen können Sie auch die Person aus der Familieninstanz erstellen, sodass die Familie ihre Mitglieder verfolgen kann:
%Vor%Verwendung wie folgt:
%Vor%Tags und Links python class inheritance