方法重写
01练习,直接把叫替换了
class Animal:
def eat(self,):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
class Dog(Animal):
def bark(self):
print("汪汪叫")
# class Cat(Animal):
# def catch(self):
# print("捉")
class Xiaotianquan(Dog):
def fly(self):
print("飞")
# 直接去加bark的语法,会替换之前的“叫”为“神狗的叫”
def bark(self):
print("神狗的叫")
# super().之前的调用,会调用现在的和之前的
# super().bark()
# print("旺旺呜呜呜")
wangcai = Xiaotianquan()
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()
wangcai.fly()
02,把之前的叫也显示出来
class Animal:
def eat(self,):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
class Dog(Animal):
def bark(self):
print("汪汪叫")
# class Cat(Animal):
# def catch(self):
# print("捉")
class Xiaotianquan(Dog):
def fly(self):
print("飞")
# 直接去加bark的语法,会替换之前的“叫”为“神狗的叫”
def bark(self):
print("神狗的叫")
# super().之前的调用,会调用现在的和之前的
super().bark()
print("旺旺呜呜呜")
wangcai = Xiaotianquan()
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()
wangcai.fly()
多态
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("旺财")
xiaoming = person("小明")
xiaoming.game_with_dog(wangcai)