-3

問題があり、解決策が見つからないようです。私はスーパークラスである3つのクラスを持っABCますA

class A(object):
    def __str__(self):
        self._general_representation(str)

    def _general_representation(self,to_string):
        (nominal_value, std_dev) = (self._nominal_value, self.std_dev())

    def std_dev(self)
        a = error_components()*something

    def error_components(self):
        return something

class B(A):


class C(B):

クラスが「祖父母」クラスのandCをオーバーライドできるようにしたい。これどうやってするの?クラスAとBを変更できません.Python 3.3でこれを行う方法はありますか?std_dev()error_components()

4

1 に答える 1

3

クラス C で定義するだけです。関数はself、呼び出し元のメソッドが定義されているクラスではなく、 で検索されます。

class C(B):
    def std_dev(self)
        return self.error_components() * something + something_else_again

    def error_components(self):
        return something_entirely_different
于 2012-12-21T15:56:47.950 に答える