什么是多态:
由不同的类实例化得到的对象,调用同一个方法,执行的逻辑不同。
多态的概念
指出了对象如何通过他们共同的属性和动作来 *** 作及访问,而不需考虑他们具体的类。
多态表明了动态(又名,运行时)绑定的存在,允计重载及运行时类型确定和验证。
类的继承有两层意义:1.改变 2.扩展
多态就是类的这两层意义的一个具体的实现机制即,调用不同的类实例化得对象下的相同的方法,实现的过程不一样
python中的标准类型就是多态概念的一个很好的示范
代码示例一:
s1 = 'abc'l1 = [1, 2, 3]print(s1.__len__()) # 等同于len(s1)print(l1.__len__()) # 等同于len(l1)
代码示例二:
class H2O: def __init__(self, name, temperature): self.name = name self.temperature = temperature def turn_ice(self): if self.temperature < 0: print('[%s]温度太低结冰了' % self.name) elif self.temperature > 0 and self.temperature < 100: print('[%s]液化成水' % self.name) elif self.temperature > 100: print('[%s]温度太高变成了水蒸气' % self.name)class Water(H2O): passclass Ice(H2O): passclass Steam(H2O): passw1 = Water('水', 25)i1 = Ice('冰', -20)s1 = Steam('蒸汽', 3000)def func(obj): obj.turn_ice()func(w1) # w1.turn_ice()func(i1) # i1.turn_ice()func(s1) # s1.turn_ice()w2 = Water('水', 101)func(w2)
python本身就是一个多态,多态是继承的体现方式
以上是内存溢出为你收集整理的python3 面对对象编程三大特性之一:多态全部内容,希望文章能够帮你解决python3 面对对象编程三大特性之一:多态所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)