python学习-66 面向对象3 - 多态

                 多态

 

 

 

 

1.什么是多态

由不同的类实例化得到的对象,调用同一个方法,执行的逻辑不同。

 

举例:

class H2O:
    def __init__(self,type,tem):
        self.type = type
        self.tem = tem
    def turn_ice(self):
        if self.tem < 0:
            print('%s,冻成为冰了' % self.tem)
        elif self.tem >0:
            print('%s,液化成水了' % self.tem)

class Ice(H2O):
    pass
class Water(H2O):
    pass

i1 = Ice('',-20)
w1 = Water('',20)

def func(obj):
    obj.turn_ice()

func(i1)
func(w1)

运行结果:

-20,冻成为冰了
20,液化成水了

Process finished with exit code 0

 

posted @ 2019-11-04 15:59  学python的菜鸟  阅读(157)  评论(0编辑  收藏  举报