Comment définir et obtenir un attribut de classe parent à partir d'une classe héritée en Python?
J'ai le Family
et ses hérité Person
classes. Comment puis-je obtenir le familyName
attribut de la Person
classe?
class Family(object):
def __init__(self, familyName):
self.familyName = familyName
class Person(Family):
def __init__(self, personName):
self.personName = personName
Par exemple, laisser ces Family
et Person
objets:
strauss = Family('Strauss')
johaness = Person('Johaness')
richard = Person('Richard')
J'aimerais faire quelque chose comme:
print richard.familyName
et obtenir 'Strauss'
. Comment puis-je faire cela?
source d'informationauteur msampaio
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas.
Cas seulement hérité de la classe parente des méthodes et des attributs, pas instance attributs. Vous ne devez pas confondre les deux.
strauss.familyName
est un instance attribut d'uneFamily
instance. LePerson
instances auraient leur propre des copies de lafamilyName
attribut.Vous le feriez normalement le code de la
Person
constructeur de prendre deux arguments:Une approche alternative serait de
Person
pour maintenir une référence à unFamily
exemple:où
Person
plus hérite deFamily
. Utiliser comme:En plus de Martijns suggestions, vous pouvez également créer de la Personne de la Famille de l'instance, de cette façon de laisser la famille de garder une trace de ses membres:
Utilisation comme ceci: