博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python - class类 (六) 三大特性 - 多态
阅读量:4980 次
发布时间:2019-06-12

本文共 780 字,大约阅读时间需要 2 分钟。

多态的概念:

# 多态的概念# 指出了对象如何通过他们共同的属性和动作来操作及访问而不需考虑他们的具体的类# 多态表明了动态绑定的存在,允许重载及运行时类型确定和验证.# 示例模拟:#水具有多态示例:class H2O:    def __init__(self,name,wd):        self.name = name        self.wd = wd    def zt(self):        if self.wd < 0 :            print("[%s]温度低于0度,为结冰状态"% self.name)        elif 0 < self.wd < 100:            print("[%s],,温度高于0度,低于100度,为液体状态"% self.name)        elif self.wd > 100:            print("[%s],,温度高于100度,为气体状态" % self.name)class Water(H2O):    passclass Ice(H2O):    passclass Steam(H2O):    pass#实例都调用相同的方法,实现不同的状态w1 = Water('水',25)w1.zt()i1 = Ice("冰",-1)i1.zt()s1 = Steam('水蒸气',101)s1.zt()# 结尾:# 多态实际上是依附继承的两种含义的,"改变"和'扩展'本身就意味着必须有机制去自动选用# 你改变/扩展的版本故两种含义就不可能实现,所以,多态实质上是继承的实现细节,name让多# 态和封装、继承这两个概念并列,显然是不符合逻辑的.

 

转载于:https://www.cnblogs.com/Anec/p/9768980.html

你可能感兴趣的文章
数论——lucas定理
查看>>
Flash按钮
查看>>
出现Data Tools 与VS 不兼容问题
查看>>
CSS实例:图片导航块
查看>>
SQL CASE 语句
查看>>
第十三周总结
查看>>
HOJ13907 Diana and the Golden Apples
查看>>
抽象类实现接口
查看>>
记一次失败的面试
查看>>
微服务
查看>>
禁止移动端safari浏览器双击放大事件
查看>>
Socket编程的面纱
查看>>
CSS hack方式一览
查看>>
sublime text3 注册码
查看>>
Linux ps命令详解与示例说明
查看>>
最简单的git 用法
查看>>
剑指offer--面试题20
查看>>
Lombok使用与原理
查看>>
Masonry介绍与使用实践(快速上手Autolayout)
查看>>
struts标签库
查看>>