Предположим, что у нас есть класс "Животное", который имеет атрибуты "вид" и "количество ног", а также методы "движение" и "питание". От него наследуются классы "Собака" и "Кошка".
Пример наследственности:
class Animal: def __init__(self, species, legs): self.species = species self.legs = legs def move(self): print(f"{self.species} is moving") def eat(self): print(f"{self.species} is eating") class Dog(Animal): def __init__(self, name): super().__init__("Dog", 4) self.name = name def bark(self): print(f"{self.name} is barking") class Cat(Animal): def __init__(self, name): super().__init__("Cat", 4) self.name = name def meow(self): print(f"{self.name} is meowing")
Пример изменчивости:
dog1 = Dog("Buddy") dog1.bark() # Вывод: Buddy is barking dog1.move() # Вывод: Dog is moving cat1 = Cat("Whiskers") cat1.meow() # Вывод: Whiskers is meowing cat1.move() # Вывод: Cat is moving dog1.species = "Labrador" cat1.legs = 3 print(dog1.species) # Вывод: Labrador print(cat1.legs) # Вывод: 3
В данном примере классы "Собака" и "Кошка" наследуют атрибуты и методы от класса "Животное", а также у них есть свои собственные методы. Изменчивость проявляется в том, что мы можем изменять значения атрибутов объектов классов, например, изменять вид животного или количество ног.
Предположим, что у нас есть класс "Животное", который имеет атрибуты "вид" и "количество ног", а также методы "движение" и "питание". От него наследуются классы "Собака" и "Кошка".
Пример наследственности:
class Animal:def __init__(self, species, legs):
self.species = species
self.legs = legs
def move(self):
print(f"{self.species} is moving")
def eat(self):
print(f"{self.species} is eating")
class Dog(Animal):
def __init__(self, name):
super().__init__("Dog", 4)
self.name = name
def bark(self):
print(f"{self.name} is barking")
class Cat(Animal):
def __init__(self, name):
super().__init__("Cat", 4)
self.name = name
def meow(self):
print(f"{self.name} is meowing")
Пример изменчивости:
dog1 = Dog("Buddy")dog1.bark() # Вывод: Buddy is barking
dog1.move() # Вывод: Dog is moving
cat1 = Cat("Whiskers")
cat1.meow() # Вывод: Whiskers is meowing
cat1.move() # Вывод: Cat is moving
dog1.species = "Labrador"
cat1.legs = 3
print(dog1.species) # Вывод: Labrador
print(cat1.legs) # Вывод: 3
В данном примере классы "Собака" и "Кошка" наследуют атрибуты и методы от класса "Животное", а также у них есть свои собственные методы. Изменчивость проявляется в том, что мы можем изменять значения атрибутов объектов классов, например, изменять вид животного или количество ног.