子类和父类

Posted fireflymao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子类和父类相关的知识,希望对你有一定的参考价值。

1. 子类没有初始化函数, 则初始化子类的时候,需要有父类的初始化参数

Class P(object):

    def __init__(self,name):

        self.name = name

        print(self.name)

Class C(P):

    pass

c = C(‘my name is c‘) -->一定要有父类的初始化函数,否则会出错

2. 子类有自己的初始化函数, 并且子类没有显式的调用父类的初始化函数的时候,初始化的时候,子类不需要带父类的初始化参数,子类不会有父类的初始化参数

Class P(object):

    def __init__(self,name):

        self.name = name

        print(self.name)

Class C(P):

    def __init__(self):

        self.name = ‘I‘m child‘

        print(self.name)

c = C() -->初始化没有问题

 

3. 子类有自己的初始化函数,且子类显式的调用父类的初始化函数的时候,初始化的时候,子类不需要带父类的初始化函数,但子类在调用父类的初始化函数的时候需要有父类的参数

Class P(object):

    def __init__(self,name):

        self.name = name

        print(self.name)

Class C(P):

    def __init__(self):

        super(C,self).__init__(‘aaa‘)   -->父类的参数,此句类似于 P.__init__(self,‘aaa‘),当在子类中需要调用父类的属性或者方法时候,可以通过父类名直接访问父类的属性,当调用父类的方法是,需要将”self”显示的传递进去,这种方式有一个不好的地方就是,需要经父类名硬编码到子类中,为了解决这个问题,可以使用Python中的super关键字

        self.t = ‘I‘m child‘

c = C() -->初始化没有问题

c.name -->也有参数

原文出处:

https://blog.csdn.net/brucewong0516/article/details/79121179

 

以上是关于子类和父类的主要内容,如果未能解决你的问题,请参考以下文章

子类和父类的转换!谢谢!

C++ 当子类的方法和父类的方法重名时...

什么是类的继承性?Java中子类和父类有什么关系?

java关于子类和父类构造方法的关系,犯迷糊!!

java里,为啥子类不可以有 和父类 同名不同返回类型 的方法?

列出帖子的顶级父类和父类的子类