登場のさせ方(コンストラクター)
オブジェクト指向とは、登場人物(オブジェクト)同士のやり取りからなる劇のように、
プログラムを書く方法です。
ここでは、オブジェクトを登場させるための特別な構文が用意されています。
『コンストラクター』と呼ばれるこの構文を学ぶことで、ますます自在にオブジェクトを
動かすことができるようになるのです。
本日の内容
コンストラクターってなにかな?
『コンストラクター』は、
部品クラスのオブジェクトを、メインメソッド内で新しく登場させるのに
必要な構文です。
- クラスのもの(オブジェクト)を新しく登場させる。
- 1.の時に、オブジェクトの属性(プロパティ)を設定する。(次回説明します。)
コンストラクターの定義の仕方
第14回で紹介したコンストラクターの定義を再掲します。
コンストラクターの名前は、クラスの名前と同じです。
実際に登場させる時に、『新しい(new)XXX(クラス名)というものが登場』と読めるようにするためです。
クラス名{ クラス名と同じコンストラクター名(/*引数を必要に応じて定義*/){ // 中の処理 } }
namespace TechPjin.CSharpTutorial.ConstructorTutorial { public class OfficeEmployee { // クラスの名前と同じ public OfficeEmployee() { } } }
コンストラクターの使い方
コンストラクターの呼び出しでは、
new演算子を使います。
新しい(new)会社員(OfficeEmployee)が登場すると
英語で読めるようになっていますね。
また、コンストラクターで登場させたオブジェクトを、
変数に格納する際は、
varキーワードを使いましょう。
コンストラクターは名前で、
どのクラスのオブジェクトかがわかるようになっています。
なので、クラス名をそのままデータ型指定キーワードにせず、
略式のvarで済ませることで、
コードを書く手間を減らすべきです。
メインクラス{ public static void Main(string[] args){ var 変数名 = new コンストラクター(/*引数を必要に応じて代入*/); } }
using System; namespace TechPjin.CSharpTutorial.ConstructorTutorial { class MainClass { static void Main(string[] args) { // new(新しい)というキーワードをつけて登場させる。 // 変数に入れるときはvarキーワードを使う var firstOfficeEmployee = new OfficeEmployee(); // 悪い例: // データ型指定キーワードをvarにしていない // 不必要に長い OfficeEmployee secondOfficeEmployee = new OfficeEmployee(); } } }
問題
問題1. ConsoleFairyClassのコンストラクターを定義してください
課題コード
namespace TechPjin.CSharpTutorial.ConsoleFairyProject { public class ConsoleFairy { // ここにコンストラクターを定義してください。 } }
問題2. ConsoleFairyClassのコンストラクターをメインメソッド内で呼び出してください
課題コード
using System; namespace TechPjin.CSharpTutorial.ConsoleFairyProject { class MainClass { static void Main(string[] args) { // ここに呼び出してください } } }
まとめ
お疲れ様です。これで自由にオブジェクトを登場させられますね。
次回は、オブジェクトの持つ性質『プロパティ』について学んでいきましょう。
今回学んだコンストラクターを使って、
プロパティを設定することもできますよ。
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発