当前位置:   article > 正文

Python类的单继承、多继承与super的使用详解_单继承为什么不能提供全部参数?

单继承为什么不能提供全部参数?

Python类的单继承、多继承与super的使用详解

内容学习自网络:
1.单继承
2.多继承及super使用详解

一、Python类的单继承使用详解

继承性的好处:
①减少了代码的冗余,提供了代码的复用性
②提高了程序的扩展性
③(类与类之间产生了联系)为多态的使用提供了前提

二、类继承性的格式:单继承和多继承

#python2中无继承父类,称之为经典类,python3中,默认继承object类,称之为新式类
#注意:python3中,(object)可以显示出来,不写也不会报错。

python中继承的格式为:

class 子类A(父类1,父类2):
子类体

#注意:区分单继承和多继承主要看子类继承类中的类个数,单个为单继承,多个为多继承。

三、子类继承父类后有哪些特性?(以单继承为例)

总结:

1.子类在继承父类时,默认继承了父类的 init()方法,如果子类没有重写__init__方法,则在创建对象时默认调用父类的该方法。但如果重写了__init__ 时,实例化子类时,就不会调用父类已经定义的 init
2.因为子类默认继承了父类的构造方法,所以子类可以不需要重写__init
_()方法。如果子类重写了自己的__init__()方法,那么子类该方法的参数个数要大于等于父类的个数(要包含父类的参数)。否则,报错。因为python中一个类中只能有一个init方法,不支持构造方法的重载。
3.注意:可以用super().的形式调用父类的构造方法,但这个时候参数不用写self了,注意跟直接用父类名.形式调用的区别。
格式:
super().init(name,age) #此时不用添加self
Person.init(self,name) #此时需要添加self,切记这里Parent后不需要跟()
4.子类继承了父类所有的属性,包扣私有属性,只是私有属性不能直接去调用,而是要通过get/set方法进行调用。
5.子类继承了父类的所有方法,同样 私有方法不能外部直接调用。
6.同样如果父类还有父类,那么子类也会继承父类的父类所有方法和属性(注意私有属性和 方法同样访问不了)

代码示例:


#父类Person
class Person(object):
    country = "china"
    __sex = "male"
    def __init__(self,name ,age):
        self.nam
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号