オブジェクト構造を作成しており、ベースのすべてのサブクラスにメソッドを実装するように強制したいと考えています。
私が思いついた唯一の方法は次の通りです。
抽象クラス - 機能しますが、基本クラスには、いくつかのサブクラスで使用される便利なヘルパー関数がいくつかあります。
インターフェース - 基本クラスにのみ適用する場合、サブクラスは基本クラスのみが行う機能を実装する必要はありません。
そんなことが可能なのでしょうか?
注: これは .NET 2 アプリです。
ベストアンサー1
クラスには、他のメソッドが実装されている抽象メソッドを含めることができます。インターフェイスと比較した場合の利点は、クラスにコードを追加して、新しいオブジェクトに抽象メソッドの詳細を強制的に入力させることができることです。
public abstract class YourClass
{
// Your class implementation
public abstract void DoSomething(int x, int y);
public void DoSomethingElse(int a, string b)
{
// You can implement this here
}
}