![](https://img.haomeiwen.com/i14414020/d5f12db8c41751ba.png)
名称 | 描述 |
---|---|
封装 | 根据职责将对象的属性和方法封装到一个抽象的类中 |
继承 | 实现代码的重用,相同的代码不需要重复的编写 |
多态 | 不同的子类对象调用相同的父类方法,产生不同的执行结果,增加代码的灵活度 |
一、多态
- 多态可以增加代码的灵活度
- 以继承和重写父类方法为前提
- 是调用方法的技巧,不会影响到类的内部设计
![](https://img.haomeiwen.com/i14414020/08fb55a451eeefdf.png)
eg:
![](https://img.haomeiwen.com/i14414020/5f9a87a0ab22e045.png)
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)
![](https://img.haomeiwen.com/i14414020/b4f392ce8080bb8e.png)
更新中......
网友评论