不同的子类对象调用相同的父类方法,产生不同结果
- 可以增加代码的灵活度
- 以继承和重写父类方法为前提
- 是调用方法的技巧,不会影响到类的内部设计
class Dog(object): def __init__(self, name): self.name = name def game(self): print("蹦蹦跳跳玩耍%s" % self.name) class XiaotianDog(Dog): def game(self): print("%s 在天上玩耍" % self.name) class Persion(object): def __init__(self, name): self.name = name def game_with_dog(self,dog): print("%s %s快乐玩耍" % (self.name, dog.name)) dog.game() # 1 创建狗对象 # 2 创建晓明对象 # 3 让小明和狗玩的方法 #wangcai = Dog("旺财") wangcai = XiaotianDog("飞天旺财") xm = Persion("小明") xm.game_with_dog(wangcai)
class Tool(object): # 使用赋值语句定义类属性,记录所有工具对象的数量 count = 0 def __init__(self, name): self.name = name # 让类属性的值+1 Tool.count += 1 # 创建工具对象 tool1 = Tool("斧头") tool2 = Tool("钳子") tool3 = Tool("夹子") tool4 = Tool("电钻") # 输出工具总数 print(Tool.count)