【概要】
:オブジェクト(アクタ、キャラクター、アイテムなど)のテンプレートのこと。
:例えば、ゲーム内の全てのキャラクターに共通する属性や動作が定義されたもの。(属性=体力、スピードなど、行動=移動、攻撃など)
:Unreal Engine では、クラスは階層構造を持ち、親クラスから子クラスへの継承によって、派生クラスを作ることができる。
【例1】
・AActor
:全てのアクタの基本クラス。
:位置、回転、スケールなどの基本的なプロパティを持つ。
・APawn
:AActor を継承したクラス。
:プレイヤーやAIが操作するための基本クラス。
・ACharacter
:APawn を継承したクラス。
:歩行、ジャンプなどのキャラクター動作が定義されている。
【詳細】
・カプセル化(Encapsulation)
:データと、データを操作するメソッド(関数)を1つのクラスにまとめること。
:外部から直接アクセスできないようにすることで、データの整合性を保つ。
:例えば、キャラクターの体力を、直接ではなくメソッドを通じて操作する。
・継承(Inheritance)
:あるクラスの特性を別のクラスが受け継ぐこと。
:基本的な機能をテンプレートで共有しつつ、特定の機能を追加する。
:例えば、キャラクタークラスから、プレイヤークラス、敵キャラクタークラスを作る。
・ポリモーフィズム
(Polymorphism)
:異なるクラスのオブジェクトが同じインターフェースを介して異なる動作を実装すること。
:例えば、キャラクタークラスの「Attack」メソッドを以下のように実装する。
・プレイヤー
:Attack=銃を撃つ
・敵キャラクター
:Attack=近接攻撃