多态:一种接口,多种实现
class Animal:
def __init__(self, name): # Constructor of the class
self.name = name
def talk(self): # Abstract method, defined by convention only
pass #raise NotImplementedError("Subclass must implement abstract method")
#@staticmethod
def animal_talk(obj): #不需要调用self
obj.talk()
class Cat(Animal):
def talk(self):
print('Meow!')
class Dog(Animal):
def talk(self):
print('Woof! Woof!')
c = Cat("haha")
d = Dog("hehe")
Animal.animal_talk(c)
Animal.animal_talk(d)