Я пытался проверить полиморфизм в Python и по какой-то причине моя функция возвращает None.Вы видите причину в следующем коде?Заранее спасибо
class Animal:
__name = ""
__height = 0
__weight = 0
__sound = 0
def __init__(self, name, height, weight, sound):
self.__name = name
self.__height = height
self.__weight = weight
self.__sound = sound
def set_name(self, name):
self.__name = name
def get_name(self):
return self.__name
def get_sound(self):
return self.__sound
def toString(self):
return "{} is {} cm tall {} kg and says {}".format(self.__name, self.__height, self.__weight, self.__sound)
cat = Animal("Whiskers", 33, 10, "Meow")
- класс собаки:
class Dog(Animal):
__owner = ""
def __init__(self, name, height, weight, sound, owner):
self.__owner = owner
super(Dog, self).__init__(name, height, weight, sound)
def set_owner(self, owner):
self.__owner = owner
def get_owner(self):
return self.__owner
def get_sound(self):
return "Woff!"
def toString(self):
return "Overriden"
shnitzel = Dog("Shnitzel", 10, 15, 0, "CodingCode")
класс тестирования:
class AnimalTesting:
def get_sound(self, animal):
animal.get_sound()
test_animals = AnimalTesting()
print test_animals.get_sound(cat)
строка: print test_animals.get_sound(cat)
возврат None
еще раз спасибовсе!