Was sind die wichtigsten Fragen, die ich stoßen kann, wenn ich Class über Vererbung in Python zu verwenden, wählen? Ein (dumme) Beispiel wäre:Fragen des Class über Vererbung in Python Auswahl
class Pizza(object):
def __init__(self, ingredients):
self.ingredients = ingredients
self.cooked = False
def cook(self):
print "cooking"
self.cooked = True
# A pepperoni pizza using a factory method
@classmethod
def Pepperoni(cls):
return cls("pepperoni")
# An onion pizza inheriting from Pizza base class
class Onion(Pizza):
def __init__(self):
ingredient = "onion"
super(Onion, self).__init__(ingredient)
Ich weiß, dass
- Ich kann nicht (leicht) benutzerdefinierte Methoden zu Pepperoni
- hinzufügen kann ich nicht machen Pizza eine abstrakte Basisklasse
noch etwas?
Ist nicht Pizza nur ein paar Zutaten darüber, warum sollte es in erster Linie * abstrakt * sein? Was würde eine Pepperoni-Pizza anders machen als eine Zwiebelpizza oder eine Zwiebelpizza mit zusätzlichen Peperoni ?! –
, d. H. Klassenmethoden vs Vererbung dienen * vollständig * verschiedenen Zwecken. –
Geh bitte zu technischen auf Pizzas bitte, es ist nur ein Beispiel –