#多态:由不同的类实例化得到的对象,调用一个方法,执行的逻辑不同#多态的概念:指出了对象如何通过他们共同的属性和动作来操作及访问,而不需要考虑他们具体的类#多态是反映运行时候的一种情况,python本身就是一种多态#python本身就是一种多态代码例子如下:#我们经常看到的执行情况# li=[1,2,4,9]# print(len(li))# str="asdlasjdlas"# print(len(str))## #python时间运行情况# li=[1,2,4,9]# print(li.__len__())# str="asdlasjdlas"# print(str.__len__())#li 和 str虽然不是相同的对象,但是可以调用方法__len__方法#多态的例子class H2O: def __init__(self,name,shuizhuantai): self.name=name, self.shuizhuantai=shuizhuantai def turn_ice(self): if self.shuizhuantai<0: print("[%s]温度太低结冰了"%self.name) elif self.shuizhuantai>0 and self.shuizhuantai<100: print("[%s]液化成水"%self.name) elif self.shuizhuantai>100: print("[%s]温度太高变为水蒸气"%self.name)class Water(H2O): passclass Ice(H2O): passclass Steam(H2O): pass#实例化W1=Water("水",30)I= Ice("冰",-24)S=Steam("水蒸气",200)#水不同形态但是他可以调用相同方法,执行结果不一样# W1.turn_ice()# I.turn_ice()# S.turn_ice()#定义一个统一的接口def fun(obj): obj.turn_ice()fun(W1)fun(I)fun(S)
来源:https://www.cnblogs.com/jianchixuexu/p/11688750.html