親子クラスがあります。親クラスには2つの属性x、yがあります。Yは__(二重アンダースコア)でプライベート変数に設定できますが、子クラスに公開できないため、子クラスに公開する_(単一アンダースコア)として指定しました。
しかし、私はそれが子クラス以外に公開されることを望んでいません。
公開されているy変数を保護するために、子メソッドのinitクラスをオーバーライドする方法はありますか?
test.py
class parent:
def __init__(self,x):
self.x = x
self._y = ' '
self.setyvalue()
def setyvalue(self):
self._y = 10
return self._y
class child(parent):
def test(self):
print('self.x',self.x)
print('self._y',self._y)
if __name__ == '__main__':
x = child(2)
x.test()