目录
一:多态与多态性
1. 什么是多态
水:液态水,固态水,气态水
动物:人,猪,狗,猫 ...
1.多态
imput abc
导入模块
抽象类:抽象类只能被继承,不能被实例化
class Animal(metaclass=abc.ABCMeta):
用处 继承Animal的子类必须有speak,没有直接报错
@abc.abstractmethod 该方法已经是抽象方法了
def speak(self): pass 抽象方法里面不能有函数体 pass即可
@abc.abstractmethod
def login(self):pass
class People(Animal):
def speak(self):
print('嗷嗷嗷')
pass
def login(self):
pass
class Pig(Animal):
def speak(self):
print('哼哼哼')
class Dog(Animal):
def speak(self):
print('汪汪汪')
obj = People()
obj.speak()
2.多态性
父类限制子类的行为
class Animal():
def speak(self):
raise Exception("必须实现speak方法") 没有直接报错
class Pig():
def speak(self):
print('哼哼哼')
class Dog():
def speak(self):
print('汪汪汪')
class Txt():
def speak(self):
print('Txt')
obj = People()
obj.speak()