多态
与C++相同
概念:
不同的子类对象 调用相同的 父类方法,产生不同的执行结果
提示:
- 多态可以增加代码灵活度
- 以 继承 和 重新父类方法 为前提
- 是调用方法的技巧,不会影响到类的内部设计
class Dog(object):
def __init__(self,name):
self.name = name
def game(self):
print("Dog姓名:%s" % self.name)
class XTQ(Dog): #使用这个类,会直接调用Dog的init方法
def game(self): #因为这个类的init方法和Dog类一样,所以不用写了
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)) #不需要关心调用什么对象
a = XTQ("狗子") #需要控制不同的传入,就能获得不同的传出
b = Person("人")
b.game_with_dog(a)