主にFlashのTIPSを紹介するページです。
カレンダー
カテゴリー
最新記事
最古記事
(03/04)
(03/04)
(03/09)
(03/09)
(03/18)
ブログ内検索
P R
アクセス解析
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
親クラスの変数にアクセスするような作りは好ましくないが、いざというときのために。。。
○親クラス
package
{
import flash.display.*;
public class Main extends Sprite
{
public var hoge:String = ""; // publicをつけて外部から見えるようにする
public function Main()
{
var myClass:NewClass = new NewClass();
// addChildすることで外部クラスでparentが使えるようになる
this.addChild(myClass);
myClass.test();
trace(hoge); // hogehoge と表示される
}
}
}
○外部クラス
package
{
import flash.display.*;
public class NewClass extends Sprite
{
public function test()
{
Main(parent).hoge = "hogehoge"; // parentを親クラス名でキャストする
}
}
}
ちなみにアクセスしたい変数のアクセス修飾子を省略すると internal 扱いとなるので、同一パッケージ内からならアクセスが出来る。
public var hoge:String = "";
↓
var hoge:String = "";
○親クラス
package
{
import flash.display.*;
public class Main extends Sprite
{
public var hoge:String = ""; // publicをつけて外部から見えるようにする
public function Main()
{
var myClass:NewClass = new NewClass();
// addChildすることで外部クラスでparentが使えるようになる
this.addChild(myClass);
myClass.test();
trace(hoge); // hogehoge と表示される
}
}
}
○外部クラス
package
{
import flash.display.*;
public class NewClass extends Sprite
{
public function test()
{
Main(parent).hoge = "hogehoge"; // parentを親クラス名でキャストする
}
}
}
ちなみにアクセスしたい変数のアクセス修飾子を省略すると internal 扱いとなるので、同一パッケージ内からならアクセスが出来る。
public var hoge:String = "";
↓
var hoge:String = "";
PR
この記事にコメントする