as類成員變數的特殊用法

2021-06-04 19:12:33 字數 1197 閱讀 7384

看下面的示例**:

package

}}

用符號來引用成員變數的用法在flex框架中也出現。

比如:在mx.managers.systemmanager中定義了如下成員變數:

mx_internal var childmanager:isystemmanagerchildmanager;
該變數是在mx.managers.systemclasses.childmanager

的建構函式中,按照上面的例子的形式為其賦值的:

public function childmanager(systemmanager:iflexmodulefactory)

{ super();

if (systemmanager is isystemmanager)

{ systemmanager["childmanager"] = this;

this.systemmanager = isystemmanager(systemmanager);

this.systemmanager.registerimplementation("mx.managers::isystemmanagerchildmanager", this);

>>原因分析:

systemmanager的該childmanager成員變數的訪問屬性不是public,因此,在childmanager類中無法通過systemmanager.childmanager=***的形式為其賦值。

systemmanager["childmanager"] 是動態的表現形式,在編譯期不受檢查。

>>點評:

分析flex框架源**,感覺類之間的關係被設計的過於複雜(你中有我,我中有你)。

再加上使用了事件機制對程式執行順序加以控制,使得通過源**來理解flex框架的執行順利變得很困難(思路在不同**程式片段直接跳來跳去)。

**可讀性不好。

作為在實際專案應用中,需要經常被擴充套件的ui框架,理應被設計的更好些,更容易被理解才行。

也許是:

(1)框架開發沒有嚴格的規範(歐美專案開發的特徵?)

(2)「作為框架**,如果誰都能讀懂,豈不輕易被人複製」的考慮?

類中特殊成員變數的初始化

有些成員變數的資料型別比較特別,它們的初始化方式也和普通資料型別的成員變數有所不同。這些特殊的型別的成員變數包括 a.常量型成員變數 b.引用型成員變數 c.靜態成員變數 d.整型靜態常量成員變數 e.非整型靜態常量成員變數 對於常量型及引用型成員變數,由於這兩種型別不支援賦值操作,因此必須通過建構...

C 類的特殊成員

靜態成員 static static int m int ca m 0 類中的靜態資料初始化,靜態成員不屬於物件,無法通過物件的操作進行初始化,它是屬於類的,初始化的時候不管公有私有都在類外進行 類中的靜態資料成員,可以被普通函式訪問 常量成員 類中的常量成員分為兩種 常量資料成員,常量函式成員 c...

python的類變數和成員變數用法例項教程

先看看下面這段 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 classtestclass object val1 100 def init self self.val2 200 deffcn self,val 400 val3 300 self.v...