cofi hat geschrieben:Es gibt auch die Built-in Funktion super, aber
das sollte man berücksichtigen.
Danke, das schau ich mir an, wenn ich dort etwas Durchblick habe, denke noch was neues verwirrt mich im Moment noch mehr.
Habe jetzt ein anderes problem und zwar habe ich das mit der vererbung geübt und bekomme jetzt eine Exception, die ich nicht ganz verstehe:
Exception exceptions.AttributeError: "'NoneType' object has no attribute 'Anzahl'" in <bound method Panzer.__del__ of <__main__.Panzer instance at 0x7fada06fce18>> ignored
Das trat in diesem Code auf:
Code: Alles auswählen
class Vehikel :
Anzahl = 0
def __init__(self,name,ps) :
self.name = name
self.ps = ps
Vehikel.Anzahl += 1
def __del__(self):
Vehikel.Anzahl -= 1
class Panzer(Vehikel) :
def __init__(self,name,ps,panzerung,bewaffnung) :
Vehikel.__init__(self,name,ps)
self.panzerung = panzerung
self.bewaffnung = bewaffnung
def feuern(self) :
self.bewaffnung -= 1
def beschuss(self) :
self.panzerung -= 1
def status(self) :
print self.name , self.panzerung , self.bewaffnung
leopard = Panzer("leopard",455,100,100)
leopard.feuern()
leopard.status()
Ich lese das als:
Die __del__- Methode in Klasse Panzer (also die geerbte von Vehikel) findet bei "nichts" kein Attribut Anzahl, welches es dekrementieren kann...
Aber da steht doch, das es vehikel.Anzahl dekrementieren soll?
Gruß
Dr.Miles
www.i2p2.de <--- sehr interressantes Anonymisierungsprojekt.
www.schaeuble-wegtreten.de <--- Petition gegen Schäuble