私はこれに対する答えを探していましたが、まだ運がありません。子クラスが親クラスのプロパティの値にアクセスする必要があります。
次に例を示します。
class myclass:
def __init__(self):
class __firstinternal__:
def __init__(self):
self.second = __secondinternal__()
class __secondinternal__:
def __init__(self):
self.var = myclass.getString()
def getString(self):
return "something"
self.internal = __firstinternal__()
print self.internal.second.var
c = myclass()
Traceback (most recent call last):
File "./inheritest.py", line 19, in <module>
c = myclass()
File "./inheritest.py", line 15, in __init__
self.internal = __firstinternal__()
File "./inheritest.py", line 7, in __init__
self.second = __secondinternal__()
File "./inheritest.py", line 11, in __init__
self.anothervar = myclass.getString()
AttributeError: class myclass has no attribute 'getString'
つまり、親 myclass からメソッド getString() を継承するには、secondinternalが必要です。
クラスが子ではない場合にこれを行う方法を見つけましたが、2 つのクラスを非公開にしたいと考えています。
何か案は?
前もって感謝します!