- Python中的多态
-
什么是多态:
多态指的是一类事物有多种形态。
定义:多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果:
① 多态依赖继承
② 子类方法必须要重写父类方法
好处:调用灵活,有了多态,更容易编写出通用的代码,做出通用的编程,以适应需求的不断变化!
- 多态的实现步骤:
定义父类,并提供公共方法
定义子类,并重写父类方法
传递子类对象给调用者,可以看到不同子类执行效果不同。
- 案例: 演示多态
# 1 定义父类 Person
class Person(object):
# 1.1 初始化
def __init__(self, name):
self.name = name
# 1.2 正在做某事 doSomething
def doSomthing(self):
print("XX 正在做某事 ... ...")
# 2 定义 子类: 理发师 Barber
class Barber(Person):
# 2.1 覆写 doSomething
def doSomthing(self):
print(f'{self.name} 立刻开始理发 ... ...')
# 3 定义 子类: 女演员 Actress
class Actress(Person):
# 3.1 覆写 doSomething
def doSomthing(self):
print(f'{self.name} 立刻停止表演 ... ...')
# 4 定义 子类: 医生 Doctor
class Doctor(Person):
# 3.1 覆写 doSomething
def doSomthing(self):
print(f'{self.name} 立刻给患者开膛破肚, 进行手术 ... ...')
# 5 定义方法 cut(person)
def cut(person):
person.doSomthing()
# 6 在main方法中
if __name__ == '__main__':
# 6.1 实例化 子类对象
p1 = Barber("华仔")
p2 = Actress("如花")
p3 = Doctor("华佗")
# 6.2 调用 cut 方法 传入不同的子类对象
cut(p1)
cut(p2)
cut(p3)
- 运行结果