Tips

C# 基礎 第16回 登場のさせ方(コンストラクター)

登場のさせ方(コンストラクター)

オブジェクト指向とは、登場人物(オブジェクト)同士のやり取りからなる劇のように、
プログラムを書く
方法です。
ここでは、オブジェクトを登場させるための特別な構文が用意されています。
『コンストラクター』と呼ばれるこの構文を学ぶことで、ますます自在にオブジェクトを
動かすことができるようになるのです。

本日の内容
  1. コンストラクターってなにかな?
  2. コンストラクターの定義の仕方
  3. コンストラクターの使い方
  4. 問題
  5. まとめ

コンストラクターってなにかな?

コンストラクター』は、
部品クラスのオブジェクトを、メインメソッド内で新しく登場させるのに
必要な構文です。

コンストラクターの役割
  1. クラスのもの(オブジェクト)を新しく登場させる。
  2. 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
    {
        // ここにコンストラクターを定義してください。
    }
}
解答例
[csharp] namespace TechPjin.CSharpTutorial.ConsoleFairyProject
{
public class ConsoleFairy
{
public ConsoleFairy()
{
}
}
}
[/csharp]

問題2. ConsoleFairyClassのコンストラクターをメインメソッド内で呼び出してください

課題コード
using System;
namespace TechPjin.CSharpTutorial.ConsoleFairyProject
{
    class MainClass
    {
        static void Main(string[] args)
        {
            // ここに呼び出してください
        }
    }
}
解答例
[csharp] using System;
namespace TechPjin.CSharpTutorial.ConsoleFairyProject
{
class MainClass
{
static void Main(string[] args)
{
var consoleFairy = new ConsoleFairy();
}
}
}
[/csharp]

(本日の内容一覧に戻る方はこちら)

まとめ

お疲れ様です。これで自由にオブジェクトを登場させられますね。
次回は、オブジェクトの持つ性質『プロパティ』について学んでいきましょう。
今回学んだコンストラクターを使って、
プロパティを設定することもできますよ。

(本日の内容一覧に戻る方はこちら)

(最初から読み直したい方はこちら)

ゲーム制作関連のオススメ連載リンク

とっても手軽なゲーム制作体験!
Unityゲーム開発基礎

実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発

Recent News

Recent Tips

Tag Search