Python继承,子类调用父类的两(2)种方法

在学习python中,在网上看了很久,这位 csdnzoutao 的博主总结的很到位
只使用了两句话:

方式一:指名道姓,即父类名.父类方法()
方式二:super()

方法一 : 子类中使用指名道姓方法,父类名.父类方法()

添加Aniaml父类

class Aniaml:	#定义一个动物父类
    def __init__(self,name):	# 定义一个属性name
        self.name = name
        
    def walk(self):	# 定义一个方法
        print("走路")

添加Dog子类

class Dog(Aniaml):
	    def walk(self):
        	Aniaml.walk(self) # 使用指名道姓,即父类名.父类方法()调用
       		print("四条腿跑步")
   	 	def eat(self):  # 子类新添加一个eat方法
       	 	print("吃饭饭")

方式二:super()

添加Aniaml父类:

class Aniaml:	#定义一个动物父类
    def __init__(self,name):	# 定义一个属性name
        self.name = name
        
    def walk(self):	# 定义一个方法
        print("走路")

添加Dog子类:

class Dog(Aniaml):
# 第一种.super(子类类名,self).__init__(继承自父类的属性参数)

 # 第二种  super().__init__(继承自父类的属性参数) # 推荐这种
 
 # 第三种 父类名.__init__(self,继承自父类的属性参数)  不推荐 

 # 改写继承自父类的方法
    # 子类方法名、参数应该和父类方法一样
    def walk(self):
        # super 可以调用继承自父类的同名方法
        super().walk()
        print("跑")

    # 增加
    def bark(self):
        print("汪汪")

以上直接引用第二种方法super().init(继承自父类的属性参数),即可增添或改

总结:

方式一:指名道姓,即父类名.父类方法()
:单继承使用简单,多继承会不好理清

方式二:super()
:简单粗暴,知道自己要继承什么属性

发布了2 篇原创文章 · 获赞 0 · 访问量 845

猜你喜欢

转载自blog.csdn.net/weixin_45986798/article/details/103513771