在開發Flash的過程中,以程式設計師的角度來看,ActionScript語言本身由於是Script語法,因此在語言的限制上十分鬆散,以class的設計來說,private關鍵字原本是為了避免該member遭到外部原件存取與修改,但是在實際的程式設計過程中,這一個禁止並不是絕對的。只要透過Object型態的變數去接收該Class,則該元件的所有member/method都會喪失限制而可以存取。
class test{
private var str1:String;
public var str2:String;
};
var a:text=new test();
a.str2="ok"; // allow
a.str1="fail"; // deny
var b:Object=a;
a.str2="ok"; // allow
a.str1="ok"; // allow
沒有留言:
張貼留言