之前,我们已经讲解了面向对象的两大特征:封装和继承。那么,什么又是多态呢?多态,简而言之就是多种形态。
多态的两大前提:
在这两大前提之下:不同的子类对象调用相同的父类方法,将产生不同的执行结果;这就是多态。
"""
原创作者:谷哥的小弟
博客地址:http://blog.csdn.net/lfdfhl
示例描述:面向对象三大特征——多态
"""
# 定义学生类
class Student:
def __init__(self, name):
self.name = name
def answer(self):
print("%s回答问题" % self.name)
# 定义继承自Student的学霸类
class GoodStudent(Student):
# 重写父类的方法
def answer(self):
print("%s非常流利地回答问题" % self.name)
pass
# 定义继承自Student的学渣类
class BadStudent(Student):
# 重写父类的方法
def answer(self):
print("%s磕磕巴巴地回答问题" % self.name)
pass
# 定义老师类
class Teacher:
def ask(self, student):
print("老师请学生%s回答问题" % student.name)
# 学生回答问题
student.answer()
# 创建Teacher对象
teacher = Teacher()
# 创建GoodStudent对象
goodStudent = GoodStudent("lucy")
# 创建BadStudent对象
badStudent = BadStudent("jack")
# 老师提问
teacher.ask(goodStudent)
# 老师提问
teacher.ask(badStudent)
在该示例中:
本文地址:https://blog.csdn.net/lfdfhl/article/details/106130769
如对本文有疑问, 点击进行留言回复!!
自我记录:Python学习之OpenCV 05 图片的颜色提取
python初体验:cmd输入python但是打开microsoft store问题
接口测试框架实战(一) | Requests 与接口请求构造
网友评论