P 面向对象 | 面向对象的多态特性

2019-10-04  本文已影响0人  Ricsy


名称 描述
封装 根据职责将对象的属性和方法封装到一个抽象的类中
继承 实现代码的重用,相同的代码不需要重复的编写
多态 不同的子类对象调用相同的父类方法,产生不同的执行结果,增加代码的灵活度

一、多态

eg:

class Dog:
    def __init__(self, name):
        self.name = name

    @classmethod
    def game(cls):
        print("简单玩耍")


class XiaoTianDog(Dog):
    @classmethod
    def game(cls):
        print("飞到天上玩耍")


class Person:
    def __init__(self, name):
        self.name = name

    def game_with_dog(self, dog):
        print("%s与%s一起快乐的玩耍" % (self.name, dog.name))
        dog.game()


if __name__ == '__main__':
    # xt_dog = XiaoTianDog('哮天犬')
    xt_dog = Dog('哮天犬')
    yj = Person("杨戬")
    yj.game_with_dog(xt_dog)


更新中......


上一篇 下一篇

猜你喜欢

热点阅读