トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

unity_cs_class

クラス

privateでクラス内でのみの参照、publicで外部への参照を許可。
C++と異なり、1つ1つの変数/関数にこのprivate/publicを付ける必要がある。

public class CFoo {
  private int m_dat = 5;
  public CFoo() {   // コンストラクタ
     m_dat = 10;
  }
  ~CFoo() {    // デストラクタ
  }
  public int GetValue() {
    return m_dat;
  }
  public void AppendData(int val, bool b = false) {
    if (b) m_dat = 0;
    m_dat = val;
  }
}

コンストラクタはpublicを先頭につけてクラス名と同じ名称で記載、
デストラクタは先頭に何も付けずに「~クラス名」の名称で記載。

使用は以下のように行う。

CFoo c = new CFoo();
int iDat = c.GetValue();

newされたものは、不要になったときに自動的に解放される。
ただし、Unity(C#?)の場合は解放自身はガベージコレクションで管理されているらしく、解放のタイミングはスコープから外れた場合、とはならない模様。

関数で、

public void AppendData(int val, bool b = false) {
}

のように引数に値を入れると、これは省略可能になる。

CFoo c = new CFoo();
c.AppendData(2);   // AppendData(2, false)と同じ.
c.AppendData(2, true);

 static関数


public class CFoo {
  public static void func () {
  }
}

とすると、「CFoo.func()」のようにstatic関数として使用できる。