关于python的类与面向对象的问题
class Animal(object):
def shout(self):
return "叫"
class Dog(Animal):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def shout(self):
class Cat(Animal):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def shout(self):
if __name__ == '__main__':
def test():
obj
dog = Dog("斑点狗")
print(dog.get_name(), end="")
test(dog)
cat = Cat("波斯猫")
print(cat.get_name(), end="")
test(cat)
看不懂这个main中的test方法在干嘛
def test(obj):
obj.shout()
dog = Dog("斑点狗")
print(dog.get_name(), end="")
test(dog)
cat = Cat("波斯猫")
print(cat.get_name(), end="")
test(cat)
这里的Dog类的get_name和shou方法一直调用不到
输出斑点狗汪汪叫
波斯猫喵喵叫
望采纳,代码如下:
class Animal(object):
def shout(self):
return "叫"
class Dog(Animal):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def shout(self):
print('汪汪' + super().shout())
class Cat(Animal):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def shout(self):
print('喵喵'+ super().shout())
#斑点狗汪汪叫
#波斯猫喵喵叫
if __name__ == '__main__':
def test(obj):
obj.shout()
dog = Dog("斑点狗")
print(dog.get_name(), end="")
test(dog)
cat = Cat("波斯猫")
print(cat.get_name(), end="")
test(cat)