0

継承された関数への呼び出しが派生クラスでどのように実行されるかを誰でも説明できますか?
基本クラスに関数があるとします

class Base
{
    void func() { ... }
}

このクラスは他のクラスに継承されます

class Derived extends Base
{ ... }

今、私はこのような派生クラスオブジェクトで func() を呼び出しているとします

Derived obj = new Derived();
obj.func();

ここでの私の質問は、呼び出されているこの func() がどこにあるかということです。
func() の関数定義は、継承中に基本クラスから派生クラスにコピーされ、そこから呼び出されているか、この func() 関数呼び出しが基本クラスに直接渡されます。

4

2 に答える 2

2

派生クラスはその関数の実装を提供していないため、基本クラスの実装を使用して関数が呼び出されます。

基本クラスが実装として提供したものを知る必要があると仮定すると、ある時点で基本クラスの実装を実行エージェントが読み取る必要があります。

于 2013-08-09T18:37:39.013 に答える
2

関数の基底クラス バージョンがここで呼び出されます

于 2013-08-12T17:31:37.700 に答える