ich ackere gerade ein schönes Aufgabenbuch für Python durch. Dort ist auch das Thema Vererbung dran und ich scheitere Gerade an der ersten Aufgabe. Das Buch ist offenbar für Python 2.x geschreiben worden, so dass ich nicht in der Musterlösung nachgucken kann. Ich versuche es in Python 3.6.3.
Ich habe folgenden Code
Code: Alles auswählen
class Article():
def __init__(self, articleNumber, price):
self.__price = price
self.__articleNumber = articleNumber
def getPrice(self):
return self.__price
class Book(Article):
def __init__(self, articleNumber, price, author, title, year):
super().__init__(articleNumber, price)
self.__VAT = 0.07
self.__author = author
self.__title = title
self.__year = year
class DVD(Article):
def __init__(self, articleNumber, price, name, duration, countryCode):
super().__init__(articleNumber, price)
self.__VAT = 0.19
self.__name = name
self.__duration = duration
self.__countryCode = countryCode
class ShoppingCard:
def __init__(self):
self.__shoppingCard = []
def addArticeltoCard(self, artice):
self.__shoppingCard.append(artice)
def getBill(self):
for item in self.__shoppingCard:
print(type(item))
print(super(item, self).getPrice())
book1 = Book(12, 12.50, "Der schreiberling", "das leben des X", 1993)
sc = ShoppingCard()
sc.addArticeltoCard(book1)
sc.getBill()
Code: Alles auswählen
[TypeError: super() argument 1 must be type, not Book]
Code: Alles auswählen
class Article:
VG niesel