# 1.什么是多态 # 多态指的是同一种事物的多种形态 # 水》冰,水蒸气 # 动物》人,狗,猪 # # 2.为何要用多态 # 多态性: # 继承同一个类的多个子类中有相同的方法名 # 那么子类产生的对象就可以不用考虑具体的类型而直接调用功能 # # # 3.如何用 import abc class Ainmal(metaclass=abc.ABCMeta): @abc.abstractmethod def speak(self): pass @abc.abstractmethod def eat(self): pass #Ainmal()强调:父类是用来指定标准的,不能被实例化 class People(Ainmal): def speak(self): print('say hello') def eat(self): pass class Dog(Ainmal): def speak(self): print('汪汪汪') def eat(self): pass class Pig(Ainmal): def speak(self): print('哼哼哼') def eat(self): pass peo1=People() dog1=Dog() pig1=Pig() peo1.speak() dog1.speak() pig1.speak() def my_speak(ainmal): ainmal.speak() my_speak(peo1) my_speak(dog1) my_speak(pig1) l=[1,2,3] s='hello' t=(1,2,3) print(l.__len__()) print(s.__len__()) print(t.__len__()) def len(obj): return obj.__len__() print(len(l)) print(len(s)) print(len(t))#t.__len__() #python推崇的鸭子类型,只要你叫的声音像鸭子,并且你走路的样子也像鸭子,那你就是鸭子 class Disk: def read(self): print('dist read') def write(self): print('dist write') class Process: def read(self): print('process read') def write(self): print('process write') class File: def read(self): print('file read') def write(self): print('file write') obj1=Disk() obj2=Process() obj3=File() obj1.read() obj2.write()
python面向对象的多态与多态性
猜你喜欢
转载自blog.csdn.net/qq_35540539/article/details/80836492
今日推荐
周排行