Python中的多态特性
1、描述
多态: 简单来说就是一种事物,随着传入对象的不同,可以返回多种形态。
① 多态依赖继承
② 子类还需要重写父类中的方法
2、案例
class Fruit(object):
# 定义一个公共方法
def makejuice(self):
pass
class Apple(Fruit):
# 重写父类中的公共方法
def makejuice(self):
print('i can make apple juice!')
class Orange(Fruit):
# 重写父类中的公共方法
def makejuice(self):
print('i can make orange juice!')
class Banana(Fruit):
# 重写父类中的公共方法
def makejuice(self):
print('i can make banana juice!')
# 定义一个公共接口 => 多态特性 => 要求传入一个对象作为参数
def severce(obj):
obj.makejuice()
apple = Apple()
orange = Orange()
banana = Banana()
severce(banana)
结果:
class Dog(object):
# 定义一个公共方法
def work(self):
pass
class Armydog(Dog):
# 重写父类中的work方法
def work(self):
print('追击敌人.....')
class DrugDog(Dog):
# 重写父类中的work方法
def work(self):
print('追查毒品...')
class Person(object):
# 定义一个多态接口 => 函数、方法
def work_with_dog(self, obj):
obj.work()
# 实例化生成一个Person类对象
police = Person()
police.work_with_dog(Armydog())
结果: