目录
1、Python中的多态
(1)多态的定义
多态是一种使用对象的方式,子类重写父类方法,不同的子类对象调用相同的父类方法,可以产生不同的执行结果。
概括的说,多态指的是一类事物可以有多种形态呈现。
(2)多态的好处
(3)多态实现步骤
- Python中实现多态的两个前提条件:
- 继承:多态一定是发生在子类和父类之间。
- 重写:子类重写了父类的方法。
- 多态实现步骤
- 定义父类,并提供公共方法。
- 定义子类,并重写父类方法。
- 传递子类对象给调用者,可以看到不同子类执行效果不同。
2、体验多态
# 1. 定义父类,提供公共方法
class Dog(object):
# 父类提供统一的方法,哪怕是空方法
def work(self):
pass
# 2. 定义子类,继承Dog类
# 子类重写父类方法:
# 定义2个类表示不同的警犬
class ArmyDog(Dog):
def work(self):
print('追击敌人...')
class DrugDog(Dog):
def work(self):
print('追查毒品...')
# 定义人类
class Person(object):
# 传入不同的对象,执行不同的代码,即调用不同的work函数
def work_with_dog(self, dog):
dog.work()
# 3. 创建对象,
# (有多少个事物,就有要创建多少个对象)
ad = ArmyDog()
dd = DrugDog()
# 4.传入不同的对象,调用不同的功能,
obj = Person()
obj.work_with_dog(ad)
obj.work_with_dog(dd)
总结:
Java中多态性的表现: 多态性,可以理解为一个事物的多种形态。同样Python中也支持多态,但是是有限的的支持多态性,主要是因为Python中变量的使用不用声明,所以不存在父类引用指向子类对象的多态体现,同时Python不支持重载,所以在Python中 多态的使用不如Java中那么明显。
|