0

Childクラスから継承するクラスParentが2つあります。クラスには、プロパティを使用して値を計算して返すParentメソッドがあります。値はです。クラスが継承すると、の戻り値がである場合に、。以外の値を確実に返す値に変更されるようにオーバーライドされます。したがって、目的は、クラス呼び出しのインスタンスがを返さないようにすることです。これが私がそれをした方法ですgetItparamNoneChildParentgetItgetItNoneparamNoneChildgetItNone

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

これを行うためのより良い方法はありますか?

4

0 に答える 0