# pcj
class Animal():
def eat(self):
print("吃")
def run(self):
print("跑")
def sleep(self):
print("睡")
def drink(self):
print("喝")
class Dog(Animal):#Dog是子类,他拥有Animal所有的属性和方法
def bark(self):
print("叫")
dh=Dog() #定义一个dh的对象
dh.bark() #调用子类叫的方法
dh.run() #可以调用父类玩的方法
# 继承的传递 孙子有父亲的属性和方法,父亲有爷爷的属性的方法,孙子也就有了爷爷的属性和方法
class XiaoTiaoQian(Dog):
def fly(self):
print("我会飞")
xtq=XiaoTiaoQian()
xtq.fly()
xtq.bark()
xtq.eat()
# 覆盖父类方法的属写,当父类的方法不能满足子类需求时,可以重写,方法非常简单,只需重新定义一个同名的方法即可
# 例如:笑天的叫肯定和普通Dog的叫不一样。则,重新定义一个bark。
class XiaoTiao(Dog):
def bark(self):
print("--我是笑天,我叫得很狂") #重写
xt=XiaoTiao()
xt.bark() #再次调用时,就不会调用DOG的bark方法,而是自已的brak方法