Also, habe ich diese Klasse, die den Überblick über die Anzahl der Instanzen hält, die erstellt werden:Python: Änderung Basisklasse Attribut
class Base(object):
total = 0
def __init__(self):
<more code>
Base.total += 1
Nun, ich möchte eine abgeleitete Klasse schaffen, aber ich will nicht, seine Instanzen, die zur Gesamtzahl in Base hinzugefügt werden. Also ziehe ich um das Hinzufügen rückgängig zu machen:
class Derived(Base):
def __init__(self):
super(Derived,self).__init__()
Base.total -= 1
Es funktioniert, aber es scheint nicht eine gute Praxis, um mich in der abgeleiteten Klasse eine Basisklasse Attribut zuzugreifen. Gibt es eine bessere Methode?
Sie müssen die '__init__' Methode der Basisklasse nicht nennen. Sie können Ihren ''-Block immer in eine separate Funktion verschieben. –
Selcuk