python面向对象的三大特征--多态

#什么是多态:由不同的类实例化得到的对象,调用同一个方法,执行的逻辑不同
#多态体现在由一个类实例化出多个对象,这些对象执行相同的方法时,执行的过程和结果不一样--不同的对象调用相同的方法
#多态的概念指出来对象如何通过他们共同的属性和动作来操作及访问,而不需考虑具体的类

# 多态继承有两层意义:1.改变 2.拓展
# 多态就是类的这两层意义的一个具体的实现机制,即,调用不同的类实例化得对象下的相同的方法,实现的过程不一样
#
# python中的标准类型就是多态概念的一个很好的示范



class Water:
    def __init__(self,name,templte):
        self.name=name
        self.templte=templte

    def turn_ice(self):

        if self.templte>=100:
            print("%s这是水蒸气"%self.name)

        elif self.templte > 0:
            print("%s 这是水" % self.name)

        elif self.templte<0:
            print("%s这是冰"%self.name)

class New_water(Water):
    pass

class Qi(Water):
    pass

class Ice(Water):
    pass

w1=New_water("",30)
q1=Qi("水蒸气",200)
i1=Ice("",-10)

# w1.turn_ice()
# q1.turn_ice()
# i1.turn_ice()


def func(obj):
    obj.turn_ice()

func(w1)#--->w1.turn_ice()




如果我失败了,至少我尝试过,不会因为痛失机会而后悔
原文地址:https://www.cnblogs.com/tangcode/p/11359438.html