继承概念:继承是类与类的一种关系,是一种子类与父类的关系,即爸爸与儿子,儿子继承爸爸的属性和方法。
继承分为:单继承和多继承
下面我们先说说单继承!!!
看这段代码:父类Animal,子类Cat

class Animal():
    type_name="动物类"

    def eat(self):
        print("动物能吃")

    def sleep(self):
        print("动物能睡")

class Cat(Animal):
    def shout(self):
        print("喵喵")

mimi=Cat()
mimi.eat()
print(mimi.type_name)
mimi.shout()

通过这段代码,我们可以得出结论:
子类可以直接使用父类的公有属性和方法,但是对于父类私有的属性则不可以调用
继承的传递性:
继承的传递性就是指子类除了可以调用父类的公有属性和方法外,还可以调用父类的父类中封装的公有属性和方法。
案例:
定义一个动物类Animal为父类,它有1个属性type_name,两个方法eat和sleep
定义一个Cat 猫类继承于Animal,猫类有两个方法shout和sleep
定义一个HelloKitty类继承于Cat,HelloKitty类有speak和sleep方法

class Animal():
    type_name="动物类"

    def eat(self):
        print("动物能吃")

    def sleep(self):
        print("动物能睡")

class Cat(Animal):
    def shout(self):
        print("喵喵")

    def sleep(self):
        print("猫很少睡")

class HelloKitty(Cat):
    def speak(self):
        print("我是HelloKitty")

    def sleep(self):
        print("HelloKitty不睡觉")
        #重写:一旦子类有与父类同名方法或者属性,那么就叫子类对父类方法的重写
        #即子类会覆盖掉父类方法--仅仅针对子类生效

hk=HelloKitty()
hk.shout()
hk.speak()
hk.sleep()

看一下运行结果:

Python最顶层的父类 python父类继承_开发语言


什么是多继承?

多继承可以让子类对象,子类可以同时调用多个父类的公有属性和方法

案例:

• 定义一个神仙类和猴子类,再定义一个孙悟空类,孙悟空类分别继承神仙类和猴子类

• 神仙类有飞的实例方法

• 猴子类有吃的实例方法

• 孙悟空类有取经的实例方法

• 实例孙悟空对象,分别调用父类的属性和方法

class Monkey():
    def eat(self):
        print("猴子爱吃香蕉")

class God():
    def fly(self):
        print("神仙会飞")

    def eat(self):
        print("神仙吃蟠桃")

class Sunwukong(God,Monkey):
    def qujing(self):
        print("上西天")

swk=Sunwukong()
swk.qujing()
swk.eat()
swk.fly()

看下执行结果:

Python最顶层的父类 python父类继承_父类_02


结论:当子类继承多个父类时,哪个父类写在括号的前面,则调用哪个父类的属性和方法,在该例子中,父类God写在前面,所以执行结果为调用该父类的方法