Pregunta

No entiendo qué es estructuralmente diferente entre un objeto de valor y una clase en ActionScript3.

¿Puede alguna clase ser una VO si decide llamarla una?

Gracias.

¿Fue útil?

Solución

Value Objeto (Vo) es un patrón de diseño utilizado para transferir datos entre los subsistemas de aplicaciones de software.

Una clase de ActionScript puede incluir campos (VAR), propiedades (getters/setters) y métodos. El objeto de valor de término se refiere a las clases utilizadas por los marcos (como Mojón) almacenar y pasar datos entre componentes y módulos. Estas clases actúan como plantillas para mantener datos y generalmente no contendrán funciones distintas de los getters/setters.

El marco de Cairngorm tiene un Ivalueobject interfaz que no incluye ningún método.

Es una interfaz de marcador que mejora la legibilidad del código al identificar las clases dentro de un Cairngorm Aplicación que se utilizará como objetos de valor para pasar datos entre niveles de una aplicación.

El objeto de valor es un término suelto en ActionScript. los AS3 Referencia del idioma aquí ha utilizado este término para un objeto que se pasa al constructor de una clase para inicializar sus propiedades.

class Circle extends Shape 
{
    public var bgColor:Number = 0xFFFFFF;
    public var radius:Number = 0;
    public var xCenter:Number = 0;
    public var yCenter:Number = 0;

    public function Circle(initObj:Object) 
    {
        //initialize properties from the value object.
        for(var i:String in initObj) 
        {
            this[i] = initObj[i];
        }
        draw();
    }

    public function draw():void 
    {
        graphics.beginFill(bgColor);
        graphics.drawCircle(xCenter, yCenter, radius);
        graphics.endFill();
    }
}

var firstInitObj:Object = new Object();
firstInitObj.bgColor = 0xFF0000;
firstInitObj.radius = 25;
firstInitObj.xCenter = 25;
firstInitObj.yCenter = 25;
//pass the value object to the constructor.                    
var firstCircle:Circle = new Circle(firstInitObj);

El uso del objeto Value permite a los usuarios de la clase inicializar solo aquellas propiedades que desean. Una alternativa a este método (más robusto y menos propenso a errores, una OMI) es especificar cada propiedad como argumentos al constructor y asignarles valores predeterminados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top