Unity勇者の冒険の書

Unityで学んだことや便利なものなど作ったら紹介します

【Unity勇者の奮闘記】C#のクラスの継承について その1 

ある程度、Unityを勉強していくと、

途中であるところにぶち当たります

それが、クラス設計

クラス設計に確実に必要となってくる

一つが、継承です。


継承って…なんぞ?って人、

UnityのC#でプログラムを書いたことのある人なら

必ず見たことがあり、お世話になっていると思います。


using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}


「いつもの」ですね。

もう見慣れてるかと思います。
そして継承がどこにあるかというと、、、、

: MonoBehaviour

ここです!
: このコロンが継承を表します。

C#では、クラス名の右側にコロンを挟んで継承元を書きます。

継承元のことを「基底クラス」または「スーパークラス」と言われ、
継承先のことを「派生クラス」または「サブクラス」と言います。

Unityでスクリプトを生成した時に既に : MonoBehaviourとあるのは、
Unityで使える便利な関数をそこにまとめてあるから
生成時に継承されるようになっている、ということです。

じゃあ、継承するのはどんな時?

たとえば、アクションゲームで、敵のクラスを作るとします。


にはいろんな種類があります。

・ザコ敵
・遠距離攻撃をする敵
・めっちゃ速い敵
・ボス

などなど。

しかし、どの敵にも

・HP
・攻撃力
・防御力
・移動速度

はあります。ここで、継承を使います。


継承の利点として、「同じコードを何度も書かずに済む」というものがあります。
「何度も同じ変数を宣言して、初期化して…」という手順を基底クラスに一回書くことで済みます。
これが継承の利点の一つです。


別に継承なんて使わなくてもプログラムできるよ!
継承無くても面白いゲーム作れるよ!
なんて人、いると思いますが、確かにそうです。
が、継承を使えばゴリゴリ書いていたプログラムが綺麗になりますよ!
なのでぜひつかってみませう。


次は使い方について説明します!
では(゚Д゚)ノ

次→
lightgive.hatenadiary.jp