如何在不重写继承类的__init__的情况下向我的python添加__init__ def

时间:2018-10-29 15:44:21

标签: python oop

我开始摆脱OOP的束缚。有人可以用python上下文向我解释这个概念吗?我有几节课:

class A(object):
    def __init__(self):
        self.foo = 'hello'

class B(A):
    def __init__(self):
        self.bar = 'world'

所以我机械地理解,当我在B类中创建新的__ init __ def时,它将覆盖A类的__ init __。但是我想知道为什么。

我想使用它自己的init来创建类B的实例,但我也希望它具有A的init。到目前为止,我所知道的唯一解决方案就是将代码从A的__初始化__复制到B的上面。

我这样做:

class A(object):
    def __init__(self):
        self.foo = 'hello'

class B(A):
    def __init__(self):
        self.foo = 'hello'
        self.bar = 'world'

但是通过对象继承,我认为应该有更好的方法来做到这一点。在继承基类的东西的同时,大多数人如何为子类进行初始化?您是否真的需要将所需的所有内容复制粘贴到子类中?

0 个答案:

没有答案