Bin etwas ratlos was das angeht. Vielleicht kann mir ja jemand helfen, die Fehler alle raus zu bekommen
Code: Alles auswählen
# mutterklasse Kraftfahzeug
class Kraftfahrzeug(object):
ANZAHL = 0
# klassenvariable ANZAHL (int) - repraesentiert die anzahl der existierenden instanzen
# muss bei der instanziierung eines objekts also um 1 erhoeht werden
# und bei der zerstoerung eines objekts um 1 verringert werden
def __init__(self, idnr, marke, leistung, fahrer):
self.idnr = idnr
self.marke = marke
self.leistung = leistung
self.fahrer = fahrer
self.__class__.ANZAHL += 1
# attribute: idnr (int), marke (str), leistung (int), fahrer (str)
# fahrer wird nicht uebergeben sondern mit None initialisiert
def anlassen(self):
print ("Das Fahrzeug laeuft")
# ausgabe: "Das Fahrzeug laeuft"
def hupen(self):
print ("")
# ausgabe: ""
# wird in subklassen mit spezifischem inhalt ueberschrieben
def getId(self):
print (self.idnr)
# rueckgabe: idnr
def getLeistung(self):
return self.leistung + "PS"
# rueckgabe: "<leistung> PS" als string
def setFahrer(self):
self.fahrer = ""
print (self.fahrer + " steigt ein")
# ein name wird uebergeben und dem attribut fahrer zugewiesen
# ausgabe: "<name> steigt ein"
def __del__(self):
self.__class__.ANZAHL -= 1
# in dieser methode kann man spezifizieren, was passiert, wenn
# ein objekt geloescht/zerstoert wird
def getAnzahlFahrzeuge(self):
return self.ANZAHL
# klasse Motorrad, erbt von Kraftfahrzeug
class Motorrad(Kraftfahrzeug):
def __init__(self, beiwagen):
Kraftfahrzeug.__init__(self,idnr, marke, leistung, fahrer)
beiwagen = input()
self.beiwagen = beiwagen
# zusaetzliche attribute: beiwagen (bool)
# beiwagen wird uebergeben
def hupen(self):
print ("Motorrad hupt")
# ausgabe: "Motorrad hupt"
# klasse Auto, erbt von Kraftfahrzeug
class Auto(Kraftfahrzeug):
def __init__(self,fahrzeugklasse):
Kraftfahrzeug.__init__(self,idnr, marke, leistung, fahrer)
fahrezugklasse = input()
self.fahrzeugklasse = fahrzeugklasse
# zusaetzliche attribute: fahrzeugklasse (str)
# fahrzeugklasse wird uebergeben
def hupen(self):
print ("Auto hupt")
# ausgabe: "Auto hupt"
# klasse Sportwagen, erbt von Auto
class Sportwagen(Auto):
def __init__(self,hoechstgeschwindigkeit):
Auto.__init__(self,fahrzeugklasse)
hoechstgeschwindigkeit = input()
self.hoechstgeschwindigkeit = hoechstgeschwindigkeit
self.fahrzeugklasse = "Sportwagen"
# zusaetzliche attribute: hoechstgeschwindigkeit
# hoechstgeschwindigkeit wird uebergeben und ist ein integer
# fahrzeugklasse vom Sportwagen ist immer "Sportwagen"
def hupen(self):
print ("Sportwagen hupt")
# ausgabe: "Sportwagen hupt"
def getHoechstgeschwindigkeit(self):
return hoechstgeschwindigkeit
# rueckgabe: hoechstgeschwindigkeit
# klasse LKW, erbt von Kraftfahrzeug
class LKW(Kraftfahrzeug):
def __init__(self, ladeflaeche):
Kraftfahrzeug.__init__(self,idnr, marke, leistung, fahrer)
self.ladeflaeche = ladeflaeche
# zusaetzliche attribute: ladeflaeche (float)
def hupen(self):
print ("LKW hupt")
# ausgabe: "LKW hupt"
generic = Kraftfahrzeug(1, "nix", 0)
lkw1 = LKW(6489, "MAN", 500, "20")
lkw2 = LKW(6408, "Volvo", 400, "27")
lkw1.setFahrer("Klaus")
lkw1.anlassen()
lkw1.hupen()
lkw2.setFahrer("Hubert")
lkw2.anlassen()
lkw2.hupen()
auto1 = Auto(12323, "Opel", 105, "Caravan")
auto2 = Sportwagen(786487, "Porsche", 270, 370)
auto1.setFahrer("Dominik")
auto1.hupen()
auto2.setFahrer("Simon")
auto2.hupen()
print(auto1.getLeistung())
print(auto2.getLeistung())
motorrad1 = Motorrad(9877, "Harley Davidson", 40, True)
motorrad1.setFahrer("Wilczek")
motorrad1.hupen()
print(motorrad1.getLeistung())
print(generic.getAnzahlFahrzeuge())
del auto1
print(generic.getAnzahlFahrzeuge())