AS3 0中 定義的物件名只是真正物件的乙個引用。這句話的含義是什麼?

2025-02-28 13:00:05 字數 1889 閱讀 2691

1樓:網友

我來這個問題吧,這就涉及到物件的引用問題了,什麼是引用?其實在中,一切皆引用,只是物件在記憶體中的存在方式不一樣,決定了是值引用還是物件引用的關係,一般來說,基本資料型別比如數字,字元布林值之類的,都是值引用,值引用的最大特點是不可變的,就是固定值,如果想變化,就得重新建立乙個值,而所有相同值都是引用同乙個物件。比如var a:

uint=5;那麼就是先在記憶體中建立乙個5的物件,現在我們這樣操作a++;那麼現在計算機就又要重新建立了乙個物件6用於a的引用。那麼這個5如何了呢,如果這個5沒有其它物件引用它的話,就符合垃圾**機制,會自動清除掉的。這是簡單資料型別的處理方式,那麼複雜資料型別的處理方式就與此不同,複雜資料型別在記憶體中,不是固定不變的值,它是可變的,因此凡是引用這個複雜資料型別的物件,殾對這個記憶體中的物件具有可操作性,也就是說,如果兩個物件同時指向記憶體中的同乙個物件,那麼其中如果有乙個修改值,都會影響所有指向它的物件的值,以上的例子就是乙個。

在var myobj1中,它指向了記憶體中的現在又有myobj2同樣也指向了這個物件,因為是同時指向了乙個物件,現在對myobj2進行操作,其實是對記憶體中的物件進行了操作。自然記憶體中的物件的值發生了改變,現在記憶體中的物件值變成了那麼因為myobj1指向這個物件,自然myobj1也變成了;這是程式設計中很重要的基礎知識,如果這方面你搞不明白,那麼將來你要提高程式設計水平會有很大障礙。希望我的解釋對你有用,這也是我的理解。

var a:uint=5;

var b:uint=a;

b++;trace(a);

輸出5,因為數字在記憶體中是常量,為固定值,所以改變b的值是不會改變a的值的。b引用了在記憶體中新建立的6,而5因為有a在引用,所以記憶體中現在存在了兩個數字物件5和6.現在我們再建立乙個物件。

var c:uint=5;

這個時候記憶體中並沒新增加乙個物件5而是直接引用了原來的5,現在我們來測試一下。

trace(a===c);/輸出true;

trace(a==c);/輸出true;說明記憶體中並沒有新的物件生成。這是基本資料型別在記憶體中的特點。

其實對引用這個東西,夠寫一章了,在這裡只能寫這麼多,要是你有不懂的地方,我們可以交流,總之這部分很重要。

2樓:匿名使用者

問題就出在這句。

myobj2=myobj1;

myobj2在記憶體中沒有生成新的物件 只是產生了乙個指向myobj1的指標。

與myobj1++;沒啥差別 都是所指向的資料遞增了而已。

在as3中,變數、引用、物件怎麼去理解

3樓:

這樣理解吧。

如果你寫了渣橡乙個值,20,你怎麼去操作這個20呢,不能每次都寫具體值吧,那樣的話就不是程式了,成了人工活兒了,累。 所以,你要有乙個代名詞指代這個20,以後每次操作就都可以直接操作這個代名詞了,這樣就方便了。

另外, 從記憶體的角度看, 你寫20的時候,記憶體會開出一塊來儲存它,所以,你操作這個值的時候沒法兒直接操作它的記憶體位址,程式編譯器給你提供了乙個功能,就是你再開一塊記憶體空間來專門儲存某個值的記憶體位址的,也就是引用,專門儲存某個值的記憶體位址的這個值 的內容是可以隨便改動的,是隨時可以按你的意願變的,想指向哪個值就指向哪個值,然後編譯之後,就成了機器語言,就可以執行了。for example: var a:

int = 20;

至於物件,你可以理解它是乙個較複雜的東西搜梁搭,它有可以有很多屬性,每個屬性又可以有自己的屬性,像現實中的世拿物件乙個,乙個物體,有它自己的幾個方面,如一雙鞋子,它是什麼牌子的,什麼碼的,這個碼又分為是歐版的還是中國版的,可以無限的分解下去的。

4樓:網友

先要搞清楚物件導向,變數是物件的屬性,引用通俗點說是某個物件想從拍跡大另外個物件那裡獲得一襲豎些州此方法,物件是類的例項。我覺得你還是應該看一看相關的書籍,把基礎打牢。

as3 0 物件陣列定義,AS3 0 物件陣列定義

陣列的索引不是變數,不用var 所以 var wordbank array new array wordbank 1 new object wordbank 1 chn 測試一 此外,如無特殊需求,最好從0開始填充陣列,用push方法比較好,即var wordbank array new array...

學習FLASHAS20和AS30各自的優缺點

as3完全物件導向,對內建函式的介面 繼承關係等做了很大改動,修改了很多全域性函式,更改了不少方法。從結構 效能上都是極大優越於2.0,如果真要說2.0的優點,那就是對於一些程式新手,做一些簡單的小as程式用起函式似乎感覺比as3容易。如果你還沒有學2.0,那直接學3,放棄2。as3.0更加優化了,...

c 類和物件的定義,區別,關係,概念

小心理解下面這段話,一定要理解。我不貼 的。例如我說 車 的時候,你想到了什麼?是不是車子都可以開,都有輪子。那麼你頭腦中自然就想起了一個車子類 類是屬性的集合,車子的屬性 可以開,有重量,大小,顏色 但是我說 你看,那輛車多漂亮!當你順著我指著的方向看去,這就是一個實際存在的物件 具體的車子。綜上...