anular variables de otras clases

Digamos que tengo una variable en general Global.as archivo como este:

public static const test:String = "testString";

Y en otro archivo quiero anular esa variable. como siguiendo tal vez:

In File1.as :

override var test:String = "testStringUpdated";

Por supuesto que esto no está funcionando. ¿Alguien sabe como hacer esto?

¿Es realmente posible con override y es override se supone que se usa asi? ¿O es solo para anular funciones?

Gracias de antemano.

preguntado el 04 de julio de 12 a las 10:07

NO puede cambiar el valor de una constante. por que lo usas? no tiene que ser constante para ser estático. Luego puede cambiar su valor fácilmente desde cualquier lugar como este: Global.test = "nueva cadena"; -

1 Respuestas

Generalmente no 'anulas' las variables; simplemente cambie su valor en la subclase (un constructor es un buen lugar para esto).

public function File1()
{
    test = "testStringUpdated";
}

En cuanto a anular literalmente, puede anular setters y getters.

Simplemente configure su variable como una combinación setter/getter en la clase base, por ejemplo:

class Base
{
    private var _test:String = "testString";

    public function get test():String
    {
        return _test;
    }

    public function set test(value:String):void
    {
        _test = value;
    }
}

Luego, en su subclase (Archivo1), puede modificar cómo el valor de test se obtendrá, por ejemplo:

class File1 extends Base
{
    override public function get test():String
    {
        return super.test + "Updated"; // testStringUpdated
    }
}

Respondido 04 Jul 12, 11:07

Su método funcionó perfectamente, tengo una clase globalConfig y una clase localConfig, simplemente extendí desde la clase globalConfig y cambié los valores. Tengo una pregunta más para usted, ya que dejo que localConfig se extienda desde globalConfig, ¿por qué no puedo dirigirme a globalConfig a través de localConfig? Digamos que tengo una prueba variable en mi globalConfig, ¿no puedo usar localConfig.test? Aunque se extiende desde globalConfig? - Vicente

@vincent No usas localConfig.test en este caso. Porque localConfig hereda de globalConfig, test pertenece a localConfig de la misma manera que pertenece a globalConfig. Esto significa que simplemente accede a esa propiedad a través de test desde dentro de ambas clases. - Marty

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.