次のC#インターフェイスを定義します。
public interface IShape
{
int NumberOfLineSegments {get;}
int Area {get;}
}
次に、台形、正方形など、いくつかの長方形のクラスを定義します。これらのクラスはすべてArea()プロパティが異なりますが、NumberOfLineSegments()は常に4を返します。したがって、Rectangle(またはIRectangle)と呼ばれる「interim」クラスまたはインターフェイスが必要です。
public Rectangle : IShape
{
public int NumberOfLineSegments{get{return 4;}}
}
RectangleにNumberOfLineSegment()のみを実装し、それを派生クラスに任せて残りを実装するようにします。
public Square : Rectangle
{
public int Area() {get{return length*height;}
}
ただし、IShapeはインターフェイスであるため、RectangleクラスはArea()も実装する必要がありますが、これは実装方法がわかりません。したがって、Rectangleの「ダミー」Area()メソッドを定義するかどうかにかかわらず、行き詰まっているようです。継承を使用します。
これを回避する方法はありますか?私はc#を介してRichterのclrを、そしてStackOverflowで広範囲に読んだことがあります。前もって感謝します!