Answer

Answer

t.me/python_tesst

Ответ:

Meow

I am a cat. My name is Kitty. I am 2.5 years old.

Meow

Bark

I am a dog. My name is Fluffy. I am 4 years old.

Bark

Объяснение:

В данном случае мы попытались реализовать полиморфизм в методах класса. Здесь мы создали два класса Cat и Dog. У них похожая структура и они имеют методы с одними и теми же именами info() и make_sound(). Однако, заметьте, что мы не создавали общего класса-родителя и не соединяли классы вместе каким-либо другим способом. Даже если мы можем упаковать два разных объекта в кортеж и итерировать по нему, мы будем использовать общую переменную animal. Это возможно благодаря полиморфизму.

Код:

class Cat:
   def __init__(self, name, age):
       self.name = name
       self.age = age

   def info(self):
       print(f"I am a cat. My name is {self.name}. I am {self.age} years old.")

   def make_sound(self):
       print("Meow")


class Dog:
   def __init__(self, name, age):
       self.name = name
       self.age = age

   def info(self):
       print(f"I am a dog. My name is {self.name}. I am {self.age} years old.")

   def make_sound(self):
       print("Bark")


cat1 = Cat("Kitty", 2.5)
dog1 = Dog("Fluffy", 4)

for animal in (cat1, dog1):
   animal.make_sound()
   animal.info()
   animal.make_sound()



Report Page