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

Posted dangrui0725

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的三大特性之多态相关的知识,希望对你有一定的参考价值。

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

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

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

 

以上是关于面向对象的三大特性之多态的主要内容,如果未能解决你的问题,请参考以下文章

面向对象之:三大特性:继承(已讲),封装,多态

Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态)

python面向对象三大特性之继承多态

java第五章:面向对象(oop)三大特性之多态

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

15:面向对象三大特性(封装继承多态)之多态