2012年6月5日 星期二

[ActionScript3] get 與 set

AS3跟JAVA真的很像,當然get跟set的用法也類似
但還是有一些地方不同

get與set主要的用途是滿足封裝的概念
讓人無法知道以及隨意變更被封裝的函式與變數
get是用來取值,set是用來給值

 參考下面程式碼
public class Main extends Sprite 
{
  
 private var number:int=0; 
 public function Main():void 
 {

 }

 public function set Number(x:int):void
 {
  number = x;
 }

 public function get Number():int
 {
  return number;
 } 

}

由於number的private屬性,所以無法直接存取,需要使用其他方法來完成
而AS3中get跟set最大的特點就是
只用這兩個關鍵字的函式會被當成實體而不是函式

使用的方式直接如同一邊變數下去使用就可以了
var test:Main=new Main;

test.Number=100; //將number設成100
trace(test.Number); //取出number的值並印出

沒有留言: