码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-08-12 00:30:46      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:判断   执行方法   访问   面向   turn   str   class   重载   ini   

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

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

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()

 

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

标签:判断   执行方法   访问   面向   turn   str   class   重载   ini   

原文地址:https://www.cnblogs.com/dangrui0725/p/9461640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!