2011-11-07 160 views
0

我想通过变量从父母到孩子。我可以通过变量。在这里我粘贴我的code.AnyBody请引导我。提前感谢!如何从父母的孩子分配父母的变量?

我的父类

public class PlayerStrobe_domaincheck extends Sprite 
{ 
    private var myService:NetConnection = new NetConnection(); 
    private var _loader:Loader; 

    public function PlayerStrobe_domaincheck() 
    { 
     _loader = new Loader(); 
     var sourceId:String = loaderInfo.parameters.src;// I want to pass This Variable 
     var some:StrobeMediaPlayback = new StrobeMediaPlayback(parentObject);// Access of undefined property parentObject(Error Message). 
     some = new StrobeMediaPlayback(this); 

} }

我的孩子上课

public class StrobeMediaPlayback extends Sprite 
{ 
    private var _loader:Loader; 
    private var sourceId:String; //i want to access the the parent variable(sourceId) here 
    parentClass = parent; 
    function Test():void 
     { 
       mediaContainer.addMediaElement(alert); 
          alert.alert("Error",parentClass.sourceId); 
       } 

回答

0
public class PlayerStrobe_domaincheck extends Sprite 
{ 
    private var myService:NetConnection = new NetConnection(); 
    private var _loader:Loader; 


    public function PlayerStrobe_domaincheck() 
    { 
     _loader = new Loader(); 
     var sourceId:String = loaderInfo.parameters.src; 

     var some:StrobeMediaPlayback = new StrobeMediaPlayback(sourceId); 

     new StrobeMediaPlayback(this); 
    } 
} 



public class StrobeMediaPlayback extends Sprite 
{ 
    private var _loader:Loader; 
    private var sourceId:String; 
    parentClass = parent; 

    public function StrobeMediaPlayback(sourceIdVariablePassed:String):void 
    { 
       mediaContainer.addMediaElement(alert); 
       trace("Source ID "+sourceIdVariablePassed); 
    } 
} 
0

你不能直接做,除非你在父变量是public

然后再一次,它不是很好的代码那样做,因为那时孩子只能被添加到你的父类中,而没有其他东西。

最好的办法是派遣一个事件,并让父母监听该事件。父级中的事件处理程序应该更改父级中的变量。

0

YOC可以通过父到子类

public class StrobeMediaPlayback extends Sprite 
{ 
    private var _loader:Loader; 
    private var sourceId:String; //i want to access the the parent variable(sourceId) here 
    private var parentClass:PlayerStrobe_domaincheck; 

    public function StrobeMediaPlayback(parent:PlayerStrobe_domaincheck) 
    { 
     parentClass = parent; 
     trace("welcome"); 
    } 
    public function Test():void 
    { 
     trace(parentClass.sourceId); 
    } 
} 

,当你从父母构建你的孩子(例如)通父对象为PARAM像

var some:StrobeMediaPlayback = new StrobeMediaPlayback(parentObject) 

和你父母的定义应该是像这样

public class PlayerStrobe_domaincheck extends Sprite 
{ 
    private var myService:NetConnection = new NetConnection(); 
    private var _loader:Loader; 
    private var some:StrobeMediaPlayback; //update 
    public var sourceId:String; 

    public function PlayerStrobe_domaincheck() 
    { 
     _loader = new Loader(); 
     sourceId = loaderInfo.parameters.src;// I want to pass This Variable 
     some = new StrobeMediaPlayback(this) //update 
    } 
} 

你可以在父母的构造中弄脏你的子对象construc tor

+0

1119:通过带有静态类型PlayerStrobe_domaincheck的引用访问可能未定义的属性sourceId。我的错误是这样的先生 – Mercy

+1

你如何定义你的孩子对象?你有没有正确地将父母传递给它作为参数? – zaynyatyi

+0

我更新了我的代码先生,我的父类中出现错误消息 – Mercy