Child
クラスから継承するクラスParent
が2つあります。クラスには、プロパティを使用して値を計算して返すParent
メソッドがあります。値はです。クラスが継承すると、の戻り値がである場合に、。以外の値を確実に返す値に変更されるようにオーバーライドされます。したがって、目的は、クラス呼び出しのインスタンスがを返さないようにすることです。これが私がそれをした方法ですgetIt
param
None
Child
Parent
getIt
getIt
None
param
None
Child
getIt
None
class Parent(object):
def __init__(self, some_params):
self.param = some_value
def getIt(self):
val = # use self.param to do some logic
if val == []:
raise RuntimeError("message")
class Child(Parent):
def __init__(self, some_params):
super(Child, self).__init__(some_params)
def getIt(self):
try:
val = super(Child, self).getIt()
except RuntimeError:
self.param = some_other_value # setting self.param to some_other_value will surely make getIt return a non empty list`
val = super(Child, self).getIt()
return val
これを行うためのより良い方法はありますか?