美文网首页
P 面向对象 | 面向对象的多态特性

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

作者: Ricsy | 来源:发表于2019-10-04 22:45 被阅读0次


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

一、多态

  • 多态可以增加代码的灵活度
  • 以继承和重写父类方法为前提
  • 是调用方法的技巧,不会影响到类的内部设计

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)


更新中......


相关文章

网友评论

      本文标题:P 面向对象 | 面向对象的多态特性

      本文链接:https://www.haomeiwen.com/subject/hanspctx.html