1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Animal:
    def __init__(self, size, color):
        print("Аргумeнт", self, size, color)
        self.size = size
        self.color = color

    def voice(self):
        print("Животное издало звук")

class Dog(Animal): # Dog наследует Animal
    def __init__(self, size, color, breed):
        super().__init__(size, color)
        self.breed = breed
        
    def voice(self): # Переопределяем метод voice.
        print("Гав!")

    def get_ball(self, item_list):
        for iterm in item_list:
            if item == 'ball':
                print("Ура, мяч нашёлся!")
                return

class Cat(Animal): # Cat наследует Animal
    def __init__(self, size, color, hair_len):
        # Вызываем __init__ для класса Animal
        # super представляем объект self как объект
        # клас са-родителя, чтобы мы могли вызвать метод
        # класса-родителя
        super().__init__(size, color)
        self.hair_len = hair_len
        self.mood = 'bad'

    def voice(self): # Переопределяем метод voice.
        print("Мяу!")