これらのそれぞれの長所と短所は何ですか?比較:インターフェイスメソッドと仮想メソッドと抽象メソッド
- インタフェースメソッド
- 仮想メソッド1が何を選ぶべき
- 抽象メソッド
?この決定をする際に留意すべき点は何ですか?
これらのそれぞれの長所と短所は何ですか?比較:インターフェイスメソッドと仮想メソッドと抽象メソッド
?この決定をする際に留意すべき点は何ですか?
バーチャルとアブストラクトはほぼ同じです。仮想メソッドには、基本クラスの実装があり、オプションでオーバーライドできます。抽象メソッドはありません。は、子クラスでは、をオーバーライドする必要があります。それ以外の場合は同じです。それらの間の選択は状況によって異なります。あなたが基本的な実装を持っているなら、あなたはvirtualを使います。そうしないと、すべての子孫がそれ自身のために実装する必要がある場合は、抽象を選択します。
インターフェイスメソッドは、クラスが実装するインターフェイスで宣言されたメソッドの実装です。これは他の2つとはまったく関係ありません。私は方法が仮想とインターフェースの両方になると思う。インターフェースの利点は、全く異なる2つのクラスで実装できる1つのインターフェース(duh)を宣言することです。こうすることで、呼び出すメソッドが共有するインターフェイスで宣言されている限り、同じコードを2つの異なるクラスで実行できます。
の詳細については、http://stackoverflow.com/a/3621600/8151を参照してください。 tl; dr:インタフェースメソッドは、発行されたILで仮想宣言されます。 – cori
@Downvoter:何が間違っていますか?誰もこの質問をしてはいけませんか? – Nawaz