fork download
  1. class PizzaStorage:
  2. def __init__(self):
  3. self.count = 10
  4.  
  5. def minus(self, count):
  6. self.count = self.count - count
  7.  
  8.  
  9. class Customer:
  10. def __init__(self, name, storage):
  11. self.name = name
  12. self.storage = storage
  13.  
  14. def eat(self):
  15. self.storage.minus(1)
  16.  
  17.  
  18. class FatCustomer(Customer):
  19. def __init__(self, name, storage, logger):
  20. super().__init__(name, storage)
  21. self.logger = logger
  22.  
  23. def eat(self):
  24. self.storage.minus(1)
  25. self.logger.write_to_log('fat eat')
  26.  
  27. def sayThanks(self):
  28. print('thanks!')
  29.  
  30.  
  31. class Logger:
  32. def write_to_log(self, text):
  33. print('LOG: ', text)
  34.  
  35.  
  36. pizzaStorage = PizzaStorage()
  37. customer = Customer('bill', pizzaStorage)
  38. fatCustomer = FatCustomer('bob', pizzaStorage, Logger())
  39.  
  40. customer.eat()
  41. print(pizzaStorage.count)
  42.  
  43. fatCustomer.eat()
  44. print(pizzaStorage.count)
Success #stdin #stdout 0.01s 27728KB
stdin
Standard input is empty
stdout
9
LOG:  fat eat
8