[心得] 使用Getter該注意的事
在Setter執行完的時候會馬上呼叫Getter
並且回傳Getter的值
這麼做是為了方便可以直接使用更改過後的值
所以,Getter裡面 不可以做除了取值以外的任何修改!!
不然的話Setter執行完呼叫的Getter還會執行一次該修改動作
除非Setter裡面有 "抹除痕跡" 的措施
不過這樣很麻煩...最好養成好習慣
以下code非正式語法,只是示意而已
public static var count:int = 0;
public var _myValue:Number = 1;
function get myValue():Number {
count ++; //修改的動作
return _myValue;
}
function set myValue(value:Number):void {
_myValue = value;
}
trace(myValue); //得到1
trace(count); //得到1
myValue = 2;
trace(myValue); //得到2
trace(count); //得到3,因為"myValue = 2"執行完以後有呼叫Getter
就是這樣,所以用Getter要小心
只要取值就好,沒事不要更改其他資料
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.95.232
※ 編輯: cjcat2266 來自: 61.228.95.232 (11/15 23:42)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章