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让多 # 态和封装、继承这两个概念并列,显然是不符合逻辑的.
既要脚踏实地,也需仰望天空