python - class类 (六) 三大特性 - 多态

多态的概念:

# 多态的概念
# 指出了对象如何通过他们共同的属性和动作来操作及访问而不需考虑他们的具体的类
# 多态表明了动态绑定的存在,允许重载及运行时类型确定和验证.

# 示例模拟:
#水具有多态示例:
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):
    pass
class Ice(H2O):
    pass
class Steam(H2O):
    pass

#实例都调用相同的方法,实现不同的状态
w1 = Water('',25)
w1.zt()
i1 = Ice("",-1)
i1.zt()
s1 = Steam('水蒸气',101)
s1.zt()

# 结尾:
# 多态实际上是依附继承的两种含义的,"改变"和'扩展'本身就意味着必须有机制去自动选用
# 你改变/扩展的版本故两种含义就不可能实现,所以,多态实质上是继承的实现细节,name让多
# 态和封装、继承这两个概念并列,显然是不符合逻辑的.

 

posted @ 2018-10-10 20:54  Anec  阅读(481)  评论(0编辑  收藏  举报