9.8.面向对象三大特征--多态
9.8.1.概念:
多态是指事物的多种形态,是一种使用对象的方式,子类重写父类方法,调用不同对象的相同父类方法,可以产生不同的执行结果
多态依赖于继承
子类方法必须重写父类方法
过程:定义一个父类。其可能拥有多个子类对象,当调用一个公共方法时,传递的对象不用 则返回结果不同
原理图:
9.8.2.实例
class Fruit(object):
# 定义一个公共方法
def makejuice(self):
print('i can make juice')
class Apple(Fruit):
def makejuice(self): # 方法重写
print('i can apple juice')
class Banana(Fruit):
def makejuice(self):
print('i can banana juice')
class Orange(Fruit):
def makejuice(self):
print('i can orange juice')
class Paech(Fruit):
def makejuice(self):
print('i can peach juice')
# 定义公共接口service,相对于上述类的进入接口
def service(obj):
obj.makejuice()
apple = Apple()
banana = Banana()
orange = Orange()
for i in (apple, orange, banana):
service(i)
9.8.3.优点:调用灵活,有了多态,更容易编写通用代码,实现通用的编程,适应不同变化需求