登場のさせ方(コンストラクター)
オブジェクト指向とは、登場人物(オブジェクト)同士のやり取りからなる劇のように、
プログラムを書く方法です。
ここでは、オブジェクトを登場させるための特別な構文が用意されています。
『コンストラクター』と呼ばれるこの構文を学ぶことで、ますます自在にオブジェクトを
動かすことができるようになるのです。
本日の内容
コンストラクターってなにかな?
『コンストラクター』は、
部品クラスのオブジェクトを、メインメソッド内で新しく登場させるのに
必要な構文です。
- クラスのもの(オブジェクト)を新しく登場させる。
- 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ゲーム開発