面向对象的三大特性之多态

# 面向对象的三大特性之多态

# 多态 由不同的类实例化得到的对象,调用同一个方法,执行的逻辑不同
# 多态的概念指出了对象如何通过他们的属性和动作来操作及访问,而不需要考虑他们具体的类
# 多态表明了动态(运行时)绑定的存在,允许重载及运行时类型确定和验证
# 多态是由同一个类实例化出的多个对象,这些对象执行方法时,执行的过程和结果是不一样的

class H2O:  # 定义了一个水的基类
    def __init__(self, name, temp):  # 初始化实例属性
        self.name = name
        self.temp = temp

    def turn(self):  # 定义函数属性,根据传入的温度来判断输出的内容
        if self.temp < 0:
            print('%s 温度太低结冰了' % self.name)
        elif self.temp > 100:
            print('%s 温度太高变为水蒸气' % self.name)
        else:
            print('%s 在(0-100)度之间为水' % self.name)


# 定义了三个子类,水,冰,蒸气,继承至H2O
class Water(H2O):
    pass


class Ice(H2O):
    pass


class Stream(H2O):
    pass


# 实例化对象

w1 = Water('', 40)
i1 = Water('', -10)
s1 = Water('蒸汽', 200)

# 执行继承自父类的相同方法,显示结果不同
w1.turn()
i1.turn()
s1.turn()

 

posted @ 2018-08-11 23:43  四十不惑的编程之路  阅读(108)  评论(0编辑  收藏  举报