【Unity開発】継承まとめ① 基本編【ひよこエッセンス】
Unity5.0.0f4 Personal(2015年5月)
ひよこエッセンスの時間です〜
今回はC#の継承についてまとめていきたいと思います〜
まとめているうちによく分からなくなってしまったので、ちょっとずつ小分けにしていきたいと思います〜
継承まとめ① 基本編
①継承とは
継承とは、あるクラスの機能を引き継ぐ新しいクラスを生成することです〜
機能を使われるほう(継承元)をスーパークラス、機能を使うほう(継承先)をサブクラスといいます〜
C#ではクラスを作った時に、クラス名の右横に「:」を書き、その更に右横にスーパークラス名を書くことで継承することができます〜
UnityでC#スクリプトを作った時に「クラス名 : MonoVehaviour」と書いてあるのは、Unityに標準搭載されているMonoVehaviourクラスの機能を使わせてもらいますよということで、そのおかげで色々とUnity独自の便利機能が使えているわけです〜
②継承の具体例(変数)
継承の具体例を見ていきましょう〜まずは継承元のAnimalスクリプトを作成して下さい〜
public変数で動物の鳴き声を設定しました〜public変数じゃないとサブクラスからアクセスできないので、そのように設定して下さい〜
それではもうひとつ、継承先のGorrilaスクリプトを作成して下さい〜
こちらのクラス名の右側に「: Animal」と書かれています〜これで継承は完了です〜
継承元に実際にアクセスする時は「base.変数やメソッド名」という形で、baseクラスを使います〜
それではHierarchyにCubeを作成し、GorillaスクリプトのみをCubeに付けて実行して下さい〜
スーパークラスから変数を取得
このようにスーパークラスを継承する時はスーパークラスをオブジェクトに付ける必要はありませんので、覚えておいて下さい〜
③継承の具体例(メソッド)
継承元のメソッドを使う例を見ていきましょう〜Animalスクリプトを以下のように修正して下さい〜
今回はメソッドですが、同じくpublicとなっております〜
続いて以下のふたつのスクリプトを作成し、Cubeに取り付けて下さい〜
前の例と同じようにAnimalクラスを継承し、baseクラスによりアクセスしています〜それではゲームを実行してみましょう〜
各スクリプトがスーパークラスのメソッドを実行
スーパークラスにアクセスした後、自分のStartメソッド内の処理を行っています〜
継承を一体何に使うのかは実はまだ分かっていないんですが、これからも勉強して皆さんと共有していきたいと思います〜
以上、ひよこエッセンスでした〜
ありがとうございました〜