失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python-基础-面向对象-多态(二十四)

Python-基础-面向对象-多态(二十四)

时间:2020-10-07 22:44:19

相关推荐

Python-基础-面向对象-多态(二十四)

1. 多态

面向对象三大特性

封装根据 职责 将属性方法 封装一个抽象的类 中

定义类的准则

2.继承实现代码的重用, 相同的代码不需要重复的编写

设计类的技巧子类针对自己特有的需求, 编写特定的代码多态不同的 子类对象调用相同的 父类方法, 产生不同的执行结果多态可以增加代码的灵活度继承重写父类方法这两个为前提条件前提是调用方法的技巧. 不会影响到类的内部设计

2. 多态案例演练

在 Dog 类中封装方法 game

普通狗只是简单的玩耍

2. 定义 XiaoTianQuan 继承自 Dog , 并且重写 game 方法

哮天犬需要直接在天上玩耍

3. 定义 Person 类, 并且封装一个 和狗玩 的方法

在方法内部, 直接让 狗对象 调用 game 方法

class Dog(object):def __init__(self, name):self.name = namedef game(self):print("%s 蹦蹦跳跳的玩耍..." % self.name)class XiaoTianQuan(Dog):def game(self):print("%s 飞到天上去玩耍..." % self.name)class Person(object):def __init__(self, name):self.name = namedef game_with_dog(self, dog):print("%s 和 %s 快乐的玩耍..." % (self.name, dog.name))# 让狗玩耍dog.game()# 1. 创建一个狗对象# xiaohei = Dog("小黑")xiaohei = XiaoTianQuan("小黑")# 2. 创建一个小明对象xiaoming = Person("小明")# 3. 让小明调用和狗玩的方法xiaoming.game_with_dog(xiaohei)

注:说白了,多态就是子类继承父类的方法,重写,是同一个名字的方法,具有不同的处理方式或结果

如果觉得《Python-基础-面向对象-多态(二十四)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。