#继承-调用被重写的方法
#重写：如果发现需要的方法和父类的不太一样，可以使用和父类相同的方法名，在当前类重写
#定义一个哮天犬类，看看是否可以继承到Animal
#神犬的叫声毕竟不同于普通狗，所以给哮天犬重新定义一个叫声，为了不影响其他狗的调用，直接在xiaotq类中修改
#调用步骤：先检查当前类中是否存在，若当前类存在这个方法，直接调用；若当前类不存在，在往上寻找父类。
#若当前类和父类都有某种方法：当前类优先级最高
#当哮天犬有力气时是狂叫，当没力气后是汪汪叫

#定义动物类，设定为父类，所有动物都具备吃喝拉撒的功能
class Animal:   #Animal：释义为“动物”
    def eat(self):
        print ("-----吃-----")

    def drink(self):
        print ("-----喝-----")

    def sleep(self):
        print ("-----睡觉-----")

    def run(self):
        print ("-----跑-----")

class Dog(Animal):  #dog类后面加（），括号中写入，父类的名字，即可继承父类
    #定义一个狗特有的方法：汪汪叫，同时也可以调用继承到父类的方法
    def bark(self):     #bark:释义为“叫”
        print ("-----汪汪叫-----")

#定义xiaotq类
class Xiaotq(Dog):
    def fly(self):
        print ("-----飞-----")
    def bark(self):
        print ("-----狂叫-----")

        #第1中调用被重写的父类的方法
        #Dog.bark(self)  # 调用父类的bark方法，注意：一定要在括号中写入self

        #第2种
        super().bark()  #实现的结果是相同的

xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()   #结果：-----狂叫-----。有限调用当前类中的bark方法
xiaotq.eat()    #结果：-----吃-----。表示已经继承到父类的父类了。
'''
哮天犬有力气先狂叫，没有力气了就变成汪汪叫了
-----飞-----
-----狂叫-----
-----汪汪叫-----
-----吃-----
'''