遊戲是學習 www.GameIsLearning.url.tw ar vr教育遊戲式學習 王啟榮 unity教學網站 行動遊戲學習平台

討論區 > Unity 教學與學習

封裝(Encapsulation)與資料存取

chijung 發表於 2017/02/07_00:21

方法1:(透過方法存取)

◎ 類別(class)內容:
  public class myCharacter {
    private int _HP;
    public int getHP(){ return _HP; }
    public void setHP( int HP ){
      if (HP < 0) { HP = 0; } // 限制 _HP 最小為 0
      _HP = HP;
    }
  }

◎ 建立物件(object):
  myCharacter npc = new myCharacter();
  npc.setHP ( 96 );
  print ( npc.getHP() );


方法2:(透過屬性存取)

◎ 類別(class)內容:
  public class myCharacter {
    private int _HP;
    public int HP{
      get {  return _HP;  }
      set {  if ( value < 0 ) { value = 0; } // value 為傳入的值
          _HP = value;  }
    }
  }

◎ 建立物件(object):
  myCharacter npc = new myCharacter();
  npc.HP = 33;
  print ( npc.HP );



建議延伸閱讀:
>> unity C# 語法教學入門
>> Unity Script 常用語法教學(unity課程入門學習筆記)