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