基本クラスA
と派生クラスがあるとしB
ます。
クラスにA
は2つの関数があります:fun1()
およびfun2()
、はをfun1()
呼び出しますfun2()
。
クラスはandをB
オーバーライドfun1()
しfun2()
、再度fun1()
呼び出しますfun2()
。
ただし、base.fun1()
オーバーライドを呼び出しますfun2()
。非常に不幸なループを作成する基本クラスのバージョンの代わりにbase.fun1()
呼び出しfun2()
を行うため:
fun1() -> fun2() -> base.fun1() -> fun2() -> base.fun1() -> ...
のbase.fun1()
基本バージョンを強制的に呼び出す方法はありますfun2()
か?本当の問題はおそらくこれらのクラスの設計が悪いことにあることは承知していますが、それがどういうわけか可能かどうか私はまだ興味があります。
fun1() -> fun2() -> base.fun1() -> base.fun2()
。残念ながら、をオーバーライドするbase.fun2()
と、代わりにがbase.fun1()
呼び出さfun2()
れます。