浅谈Python继承

转载至:https://mp.weixin.qq.com/s/U33cfytjl_BvoOtkbOIANQ

大家都熟知python是一门面向对象的编程语言,那面向对象的三大特征是哪三大特征呢?

今天我们就带大家认识一下,面向对象的三大特征之一:继承 

概念:

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为,做个比喻就是爸爸与儿子的关系。

被继承的类称为“基类”、“父类”或“超类”,继承父类的类叫“子类”、“派生类”。 

意义:

假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义。这样子类只需要继承基类(父类),子类就可以访问到基类(父类)的属性和方法了,它提高了代码的可扩展性和重用行。

语法:

  • 父类名.父类方法(self)

  • super(子类名,self).父类方法()

  • super().父类方法()  #只在python3可用

实例:

#super(子类类名,self).父类方法名()

class Anamail():

    def call(self):
        print("汪汪汪...")

class Dog(Anamail):
    
    def __init__(self, food):
        self.food = food

    def eat(self):
        super(Dog, self).call()
        return f"我在吃{self.food}"

print(Dog("骨头").eat())
执行结果:
汪汪汪...
我在吃骨头

#super().父类方法名()
class Anamail():

    def call(self):
        print("汪汪汪...")

class Dog(Anamail):

    def __init__(self, food):
        self.food = food

    def eat(self):
        super().call()
        return f"我在吃{self.food}"

print(Dog("骨头").eat())
执行结果:
汪汪汪...
我在吃骨头

#父类名称.父类方法名()
class Anamail():

    def call(self):
        print("汪汪汪...")

class Dog(Anamail):

    def __init__(self, food):
        self.food = food

    def eat(self):
        Anamail.call(self)
        return f"我在吃{self.food}"

print(Dog("骨头").eat())

执行结果:
汪汪汪...
我在吃骨头

 

posted @ 2022-01-24 19:49  LH0722  阅读(78)  评论(0编辑  收藏  举报