-1

インターフェイスに2つのメソッドA()とB()があり、抽象クラスにも同じA()とB()がある場合、それらの違いは何ですか?

4

3 に答える 3

0

インターフェイスは、このインターフェイスを実装するクラスのスケルトンを提供するだけです。

抽象クラス(インターフェイスも実装できます)は、派生クラスで(もちろん)オーバーライドできるデフォルトの機能を追加できます。

見てみましょう:インターフェースと抽象クラス(一般的なOO)

于 2013-02-16T10:23:21.100 に答える
0

違いは、インターフェイスを実装するクラスはこれらのメソッドの独自の実装を提供するように強制されるのに対し、抽象クラスを拡張するクラスはこれらのメソッドの実装を提供されることです。

于 2013-02-16T10:23:32.567 に答える
0

違い:

抽象クラス、つまり署名のみに実装がないと仮定A()B()ます。

  1. インターフェースの場合は、署名のみA()になります。つまり、このインターフェースを実装する実装とクラスがない場合は、次のような実装を提供する必要があります (キーワードなし):B() override

    returnType AbstractClass.A()
    {
        // Code here
    }
    
  2. Abstract クラス実装するクラスは、次のように抽象メソッドをオーバーライドする必要があります。

    override accessSpecifier returnType A()
    {
        // Code here
    }
    
    override accessSpecifier returnType B()
    {
        // Code here
    }
    
于 2013-02-16T11:42:14.520 に答える