类(六)--多态--基于继承而来的不同子类实例化,调用同一父类的方法
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): ##子类一,继承父类H2o的属性 pass class Ice(H2O): ##子类二,继承父类H2o的属性 pass class Steam(H2O): ##子类三,继承父类H2o的属性 pass w1=Water('水',25) ##子类一实例化 i1=Ice('冰',-20) ##子类二实例化 s1=Steam('蒸汽',3000) ##子类三实例化 def func(obj): obj.turn_ice() func(w1) #---->w1.turn_ice() ##不同的实例化,调用同一父类的方法。 func(i1) #---->i1.turn_ice()
总结:
1.多态基于继承而来
2.父类的同一方法,可以由不同的子类调用
3.通过子类的实例化,实现多态的过程
理解:同一个简历模板,给不同的人使用。简历模板就是父类,不同的人就是子类,填写的内容就是实例化。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步