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


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

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

        

  • 相关阅读:
    Metadata Lock原理5
    Seconds_Behind_Master
    Metadata Lock原理4
    MySQL Troubleshoting:Waiting on query cache mutex 腾讯数据库工程师:幕南风
    Metadata Lock原理2
    Metadata Lock原理1
    Online DDL与pt-online-schema-change
    Solaris 安装JDK
    RAID 概述
    4K Block Size的Device和 Aligned IO
  • 原文地址:https://www.cnblogs.com/liuhuacai/p/12740596.html
Copyright © 2020-2023  润新知