多肽定义
不同的子类的对象,调用相同的父类方法,产生不同的结果。
- 多肽可以增加代码的灵活度
- 以继承和重写父类的方法为前提
- 是调用方法的技巧,不会影响到类的内部设计
class Dog(object):
def __init__(self, name):
self.name = name
def game(self):
print("%s 在玩耍" % self.name)
class XiaoTianQuan(Dog):
def game(self):
print("%s 飞到天上耍" % self.name)
class Person(object):
def __init__(self, name):
self.name = name
def game_with_dog(self, dog):
print("%s 和 %s 在玩耍" % (self.name, dog.name))
dog.game()
# 创建狗对象
# wangcai = Dog("旺财")
wangcai = XiaoTianQuan("飞天神犬")
# 创建小明对象
xiaoming = Person("小明")
# 让小明和够玩耍
xiaoming.game_with_dog(wangcai)