class Material(object):
def __init__(self, cheese='', vegetables='', meat=''):
self.cheese = cheese
self.vegetables = vegetables
self.meat = meat
def get_cheese(self):
return self.cheese
def get_vegetables(self):
return self.vegetables
def get_meat(self):
return self.meat
class Pizza(object):
def __init__(self, size):
self.size = size
def get_size(self):
return self.size
@staticmethod
def pure_material(x):
return 'Pure Pizza: %s' % x
@staticmethod
def mix_material(x, y):
return 'Mix Pizza: %s + %s' % (x, y)
@classmethod
def cook_vegetable(cls, material):
return cls.pure_material(material.get_vegetables())
@classmethod
def cook_meat(cls, material):
return cls.mix_material(material.get_cheese(), material.get_meat())
material = Material('Cheese', 'Tomatoes', 'Beaf')
p = Pizza(30)
print('Pizza size', p.get_size())
print(Pizza.cook_vegetable(material))
print(Pizza.cook_meat(material))
Output:
Pizza size 30
Pure Pizza: Tomatoes
Mix Pizza: Cheese + Beaf