トップ 一覧 検索 ヘルプ 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関数として使用できる。