クラス
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関数として使用できる。