Come accedere alle proprietà / ai componenti figlio dal metodo padre - actionscript-3, flex, ereditarietà, genitore-figlio

Sto sviluppando un'applicazione in Actionscript (Flex Mobile) e ho un problema con la relazione genitore-figlio ClassB che eredita da ClassA e uno dei metodi di Classe A bisogno di accedere a componenti di ClassB. Quel metodo non può accedere a un componente / proprietà / variabile che è impostato come protetta o privato. Non voglio impostarlo come pubblico, anche se risolverebbe il problema.

Ecco il codice genitore:

public class BaseView extends View
{
...
protected function configureComponents(componentName:String):void
{
...
var service:HTTPService = this[componentControler.Id] as  HTTPService;
...
}
...
}

E qui c'è il codice figlio:

public class Contacts extends BaseView
{
...
protected var callListService:HTTPService;

override protected function createChildren():void
{
...
super.createChildren();
...
callListService = new HTTPService();
configureComponents("callListService");
}
...
}

Il precedente è solo un esempio di ciò che ho ma è la parte sostanziale di ciò di cui ho bisogno. Inoltre, quando eseguo il codice, ottengo il seguente errore:

Errore 1069: proprietà callListService non trovata su views.home.Contacts e non esiste un valore predefinito.

Spero che tu possa aiutarmi con questo problema.

Grazie in anticipo,

Sebastian

risposte:

1 per risposta № 1

Non è una buona pratica accedere al bambinovariabili dal genitore, tuttavia, in quei casi è necessario farlo, probabilmente la scelta migliore sarebbe definire la variabile nella classe genitore e quindi creare un'istanza sul figlio. Implementando le cose in questo modo, il genitore può accedere facilmente all'istanza della variabile del bambino.


Più popolare