Flex set和get關鍵字用法

Flex set和get關鍵字用法

一、set函數

                        set                definition keyword                         code

用法                                                  function set property(newValue:*) : void{  // your statements here }                       

語言版本 :             ActionScript 3.0                                    RuntimeVersions:             Flash Player 9           

定義一個 setter 方法,用做公用接口中的屬性。 setter 是一種特殊的方法,它能夠爲使用 var 關鍵字聲明的屬性設置值。與其餘方法不一樣,調用 setter 時不須要使用圓括號 (()),這使得 setter 看起來像是變量。 接口

您能夠使用 setter 爲私有屬性建立公用接口,進而應用信息隱藏原則。隱藏信息的優勢在於即便私有屬性的基礎實現發生更改,公用接口仍保持不變。ip

setter 的另外一項優勢是在子類中能夠被覆蓋,而使用 var 聲明的屬性則不能夠。ci

setter 的返回類型必須是 void 或不指定任何類型。get

setter 可與 getter 結合使用來建立可讀寫的屬性。若要建立只讀屬性,須要建立一個不帶相應 setter 的 getter。若要建立只寫屬性,須要建立一個不帶相應 getter 的 setter。it

注意:僅支持在外部腳本文件中使用此關鍵字,而不支持在使用「Actions」面板編寫的腳本中使用此關鍵字。io

參數                                      property:* — 由 set 修改的屬性的標識符;此值必須與對應的 get 命令使用的值相同。                                          newValue:* — 要分配的新值。            
示例
如何使用示例
如下示例經過定義 getter-setter 建立了可讀寫的屬性 age。 package {    class User {         private var userAge:Number;                 public function get age():Number {            return userAge;        }                public function set age(x:Number):void {            userAge = x;            }    } } 在您的腳本中輸入如下代碼: var myUser:User = new User();myUser.age = 25;trace(myUser.age); // 25  二、getgetdefinition keyword 用法  function get property() : returnType{  // your statements here }

語言版本 :             ActionScript 3.0                                    RuntimeVersions:             Flash Player 9           

定義一個 getter 方法,能夠像讀取屬性同樣讀取該方法。 getter 是一個特殊的函數,它返回使用 var const 關鍵字聲明的屬性的值。與其它方法不一樣,調用 getter 時不須要括號 (()),這使得 getter 看起來像是一個變量。 function

您能夠使用 getter 爲私有屬性建立公用接口,進而應用信息隱藏原則。隱藏信息的優勢在於即便私有屬性的基礎實現發生更改,公用接口仍保持不變。class

getter 的另外一項優勢是在子類中能夠被覆蓋,而使用 varconst 聲明的屬性則不能夠。

getter 可與 setter 結合使用來建立可讀寫的屬性。若要建立只讀屬性,須要建立一個不帶相應 setter 的 getter。若要建立只寫屬性,須要建立一個不帶相應 getter 的 setter。

注意:若要使用此關鍵字,必須在 FLA 文件的「Publish Settings」對話框的「Flash」選項卡上指定 ActionScript 2.0 和 Flash Player 6 或更高版本。僅支持在外部腳本文件中使用此關鍵字,而不支持在使用「Actions」面板編寫的腳本中使用此關鍵字。

參數                                     property:*get 所訪問的屬性的標識符;此值必須與相應的 set 命令中使用的值相同。                                          returnType:* — 返回值的數據類型。            
示例
如何使用示例
如下示例定義一個 Team 類。 Team 類包含容許您檢索和設置類中的屬性的 getter 和 setter 方法:package {    public class Team {         var teamName:String;         var teamCode:String;         var teamPlayers:Array = new Array();         public function Team(param_name:String, param_code:String) {             teamName = param_name;             teamCode = param_code;         }         public function get name():String {             return teamName;         }         public function set name(param_name:String):void {             teamName = param_name;         }    } }在您的腳本中輸入如下代碼:var giants:Team = new Team("San Fran", "SFO"); trace(giants.name); giants.name = "San Francisco"; trace(giants.name); /*San Fran San Francisco */

在跟蹤 giants.name 時,使用 getter 方法返回該屬性的值。

相關文章
相關標籤/搜索