Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity開発】継承まとめ① 基本編【ひよこエッセンス】

Unity5.0.0f4 Personal(2015年5月)

 

f:id:hiyotama:20150504205926p:plain

 

ひよこエッセンスの時間です〜

今回はC#の継承についてまとめていきたいと思います〜

まとめているうちによく分からなくなってしまったので、ちょっとずつ小分けにしていきたいと思います〜

 継承まとめ① 基本編

①継承とは

継承とは、あるクラスの機能を引き継ぐ新しいクラスを生成することです〜

 

機能を使われるほう(継承元)をスーパークラス、機能を使うほう(継承先)をサブクラスといいます〜

 

C#ではクラスを作った時に、クラス名の右横に「:」を書き、その更に右横にスーパークラス名を書くことで継承することができます〜

UnityでC#スクリプトを作った時に「クラス名 : MonoVehaviour」と書いてあるのは、Unityに標準搭載されているMonoVehaviourクラスの機能を使わせてもらいますよということで、そのおかげで色々とUnity独自の便利機能が使えているわけです〜

 

②継承の具体例(変数)

継承の具体例を見ていきましょう〜まずは継承元のAnimalスクリプトを作成して下さい〜

 

 

public変数で動物の鳴き声を設定しました〜public変数じゃないとサブクラスからアクセスできないので、そのように設定して下さい〜

 

それではもうひとつ、継承先のGorrilaスクリプトを作成して下さい〜

 

 

こちらのクラス名の右側に「: Animal」と書かれています〜これで継承は完了です〜

継承元に実際にアクセスする時は「base.変数やメソッド名」という形で、baseクラスを使います〜

 

それではHierarchyにCubeを作成し、GorillaスクリプトのみをCubeに付けて実行して下さい〜

 

f:id:hiyotama:20150527101248p:plain

スーパークラスから変数を取得

 

このようにスーパークラスを継承する時はスーパークラスをオブジェクトに付ける必要はありませんので、覚えておいて下さい〜

 

③継承の具体例(メソッド)

継承元のメソッドを使う例を見ていきましょう〜Animalスクリプトを以下のように修正して下さい〜

 

 

今回はメソッドですが、同じくpublicとなっております〜

 

続いて以下のふたつのスクリプトを作成し、Cubeに取り付けて下さい〜

 

 

 

前の例と同じようにAnimalクラスを継承し、baseクラスによりアクセスしています〜それではゲームを実行してみましょう〜

 

f:id:hiyotama:20150527102646p:plain

各スクリプトがスーパークラスのメソッドを実行

 

スーパークラスにアクセスした後、自分のStartメソッド内の処理を行っています〜

 

継承を一体何に使うのかは実はまだ分かっていないんですが、これからも勉強して皆さんと共有していきたいと思います〜

 

以上、ひよこエッセンスでした〜

ありがとうございました〜