プログラムで使用している静的な「シェイプ」クラスがいくつかあります。各静的クラスは同じ種類の操作を実行する必要があるため、メソッド呼び出しを汎用化する方法があるかどうか疑問に思っています。クラスが静的でない場合は、単純にインターフェイスを使用します。
私の状況の要点は次のとおりです。
public static Triangle
{
public int getNumVerts()
{
return 3;
}
public bool isColliding()
{
return Triangle Collision Code Here
}
}
public static Square
{
public int getNumVerts()
{
return 4;
}
public bool isColliding()
{
return Square Collision Code Here
}
}
私がやりたいShape.getNumVerts()
のは、現在の switch ステートメントの代わりに、単に を呼び出すことです。
switch (ShapeType)
{
case ShapeType.Triangle:
Triangle.GetNumVerts();
case ShapeType.Square:
Square.GetNumVerts();
}
静的クラスの代わりにシングルトンを使用すれば、ポリモーフィズムを簡単に使用できますが、シングルトンは避ける必要があり、必要に応じて個々の形状で処理できるように、大量の参照を渡す必要があります。
これらの静的クラスをグループ化する方法はありますか、それとも switch ステートメントはうまくいきますか?