Unity コードでの継承とポリモーフィズムの実装

inheritance とポリモーフィズムをコードに実装すると、既存のクラスに基づいてより特殊なクラスを作成し、異なるクラスのオブジェクトを共通の基本クラスのオブジェクトとして扱うことができます。これにより、コードの再利用、柔軟性、拡張性が促進されます。Unity で継承とポリモーフィズムを実装する例を次に示します。

継承

継承 は、既存のクラス (親クラスまたは基本クラス) に基づいて新しいクラス (子クラスまたは派生クラス) を作成することによって実現されます。子クラスは親クラスの属性とメソッドを継承し、独自の一意の属性とメソッドを追加したり、既存のものを変更したりできます。以下に例を示します。

// Base class
public class Shape
{
    public virtual void Draw()
    {
        Debug.Log("Drawing a shape...");
    }
}

// Derived class
public class Circle : Shape
{
    public override void Draw()
    {
        Debug.Log("Drawing a circle...");
    }
}

この例では、クラス 'Shape' が基本クラスであり、クラス 'Circle' はそこから派生しています。メソッド 'Draw()' は両方のクラスで定義されていますが、クラス 'Circle' はメソッドをオーバーライドして独自の実装を提供します。これにより、クラス 'Shape' で定義された共有動作を維持しながら、クラス 'Circle' の動作を特殊化することができます。

ポリモーフィズム

ポリモーフィズム により、異なるクラスのオブジェクトを共通の基本クラスの オブジェクト として扱うことができるため、柔軟性が提供され、オブジェクトを汎用的に操作するコードが可能になります。以下に例を示します。

void DrawShapes(Shape[] shapes)
{
    foreach (Shape shape in shapes)
    {
        shape.Draw();
    }
}

// Usage
Shape[] shapes = new Shape[] { new Circle(), new Shape() };
DrawShapes(shapes);

この例では、メソッド 'DrawShapes()' はオブジェクト 'Shape' の配列を受け入れます。配列を反復処理し、各オブジェクトに対してメソッド 'Draw()' を呼び出します。配列には、オブジェクト 'Circle' とベース オブジェクト 'Shape' が含まれています。ただし、クラス 'Circle' はメソッド 'Draw()' をオーバーライドするため、実行時に各オブジェクトの適切な実装が実際の型に基づいて呼び出されます。これは実際のポリモーフィズムを示しています。

結論

Unity コード で継承とポリモーフィズムを活用することで、既存のクラスに基づいて特殊なクラスを作成し、基本クラスで共有動作を定義し、オブジェクトを汎用的に操作するコードを作成して、柔軟性を提供し、コードの再利用を促進できます。 。

おすすめの記事
Unity でインタラクティブなオブジェクトを作成する
Unity でのキネティック インタラクションの実装
Unity で特定のキーを使用して引き出しや食器棚を開ける
Unity のインベントリを使用しないピック アンド ドロップ システム
Unity で車にプレーヤー エントリを追加する
Unity でのランタイム アニメーター コントローラーの使用
Unity でのオブジェクト プーリングの実装