Advertisement
ClearCode

inheritance_complex

Apr 27th, 2022
910
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.04 KB | None | 0 0
  1. class Monster:
  2.     def __init__(self,health,energy,**kwargs):
  3.         print(kwargs)
  4.         self.health = health
  5.         self.energy = energy
  6.         super().__init__(**kwargs)
  7.  
  8.     # methods
  9.     def attack(self,amount):
  10.         print('The monster has attacked!')
  11.         print(f'{amount} damage was dealt')
  12.         self.energy -= 20
  13.        
  14.     def move(self,speed):
  15.         print('The monster has moved')
  16.         print(f'It has a speed of {speed}')
  17.  
  18. class Fish:
  19.     def __init__(self,speed,has_scales,**kwargs):
  20.         print(kwargs)
  21.         self.speed = speed
  22.         self.has_scales = has_scales
  23.         super().__init__(**kwargs)
  24.  
  25.     def swim(self):
  26.         print(f'The fish is swimming at a speed of {self.speed}')
  27.  
  28. class Shark(Monster,Fish):
  29.     def __init__(self,bite_strength,health,energy,speed,has_scales):
  30.         self.bite_strength = bite_strength
  31.         super().__init__(health = health, energy = energy, speed = speed, has_scales = has_scales)
  32.  
  33. # mro -> method resolution order
  34. # print(Shark.mro())
  35.  
  36. shark = Shark(
  37.     bite_strength = 50,
  38.     health = 200,
  39.     energy = 55,
  40.     speed = 120,
  41.     has_scales = False)
  42.  
  43. print(shark.speed)
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement