zoukankan      html  css  js  c++  java
  • 类(六)--多态--基于继承而来的不同子类实例化,调用同一父类的方法

    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.通过子类的实例化,实现多态的过程

     理解:同一个简历模板,给不同的人使用。简历模板就是父类,不同的人就是子类,填写的内容就是实例化。

        

  • 相关阅读:
    RollingFileAppender 日志按天记录输出到log文件
    spring boot jar包开机自启
    oracle 日常操作--触发器调试
    转载:java基础-String不可变的好处
    java 代码优化
    nginx部署ssl证书
    修改npm仓库地址
    linux下安装python3
    python一行代码开启http
    linux下安装mongodb
  • 原文地址:https://www.cnblogs.com/liuhuacai/p/12740596.html
Copyright © 2011-2022 走看看