Propiedad atada

Una propiedad atada de un objeto (como un artefacto) es una propiedad que transmite la notificación de cualquier cambio en un adaptador o controlador de eventos.

Un simple (y típico) ejemplo es la propiedad del texto de un control de textbox. Los cambios hechos por un usuario final se pueden supervisar, y quizás corregidos por una rutina de verificación.

Todavía hay una buena cantidad de la ambigüedad semántica en cuanto a conceptos fundamentales en objeto y orientación componente, por tanto al hablar del concepto de propiedades (ligado o no) debemos estar claros si la definición es uno general, o, una noción específica única para una lengua dada o metodología. (Por ejemplo, es algo incorrecto omitir JavaBean al elaborar las nociones de 'atado' o 'propiedad' como especificado por la plataforma de Java.)

En general, hablamos de propiedades del objeto en el contexto de la orientación componente o las bibliotecas de los objetos reutilizables, ya que la especificación de unas propiedades de objetos y métodos de acceso de la propiedad del objeto fundamentalmente se refiere por la dirección a la especificación contractual relacionada con el uso 'uniforme' y 'estándar' y la semántica de interacción de componentes.

La propiedad de un objeto, en contraste con sus campos del miembro, es una construcción conceptual que no necesariamente tiene (o requiere) un elemento del miembro del tipo de datos correspondiente en el propio objeto (aunque seguramente se pueda internamente representar y apoyado por uno o varios campos, de ser requeridos). También note que un objeto (claramente) puede exponer un campo del miembro como una propiedad (y las Propiedades de JavaBeans, en particular, estrictamente definen la exposición estándar de campos como propiedades).

En general, la susodicha distinción entre los campos de un objeto (es decir sus miembros del tipo de datos) y las propiedades de un objeto es la razón del hecho que los campos se especifican a través de declaraciones del tipo de datos, mientras que las propiedades fundamentalmente se especifican a través de la definición de leído y escriben la semántica del acceso. Esto es una distinción importante y puede ser encapsulado por la máxima lo que objeta a que los campos se dirijan a preocupaciones estructurales internas, y uso de la dirección de propiedades y preocupaciones de la semántica de acceso.

Cuando hablamos de la semántica de acceso, en el contexto de propiedades, lo que se supone es simplemente que (a diferencia de un campo) los leídos - escriben que las operaciones en la propiedad de un objeto se manejan y se observan. Por ejemplo, considere el siguiente (Java) trocito del código que ilustra que los puntos claves hablaron:

paquete

org.wikipedia.en.object.semantics.property.example;

importación

org.wikipedia.en.taxonomies.domicile.Mansion;

/ * *

* TrustFundBaby tiene (?) una propiedad (impresionante).

*/

interfaz público TrustFundBaby {\

/ **

* Comprador de la Propiedad accessor método para Casa grande.

* Nota que Madre y Papá todavía pueden estar alrededor, en

* qué caso no tengo una casa grande :(

*

* Este método concordará primero con Fifi para ver si

* mi preprimavera todavía están vivos. Si sí, volverá nulo.

*

* sin Embargo, si Fifi (la criada francesa caliente :) dice 'zey han pasado un camino.'

* este método concordará entonces con mi abogado, Larry, y averiguará

* si moi permanece un beneficiario. (Prometieron la 'Casa grande', ve..)

* Si Larry dice, 'Lamento informarle palabrerías de palabrerías de palabrerías', entonces otra vez, de vuelta

* nulo.

*

¡

* sin Embargo, si Larry dice 'Al muchacho, tenga conseguí noticias para usted, Bebé!', entonces somos

* adquisición 'caliente' en efecto, y su tiempo para concordar con mi contable-corredor de apuestas, B.,

* y averiguan qué carmesí en efecto es la señal roja en el libro mayor (con suyo

* el nombre del truly en ello). Si B. entona 'Conjetura no necesita aquellos tirantes más',

* entonces el suspiro del alivio, pero desgraciadamente vuelven nulo.

*

* sin Embargo, si B. trata de interesarme en una "apuesta segura" a sólo a quién Diebold va

* eligen como el siguiente presidente, entonces sé que he venido finalmente a alguna propiedad

* en efecto (y puede (si así solicitado) disparan una serie de correos electrónicos rápidos a interesado

* observadores con el mensaje "¡Cambio de la Propiedad, Bebé! :))".

*

* Naturalmente, en este caso el método devolverá la 'Casa grande', mi 'Casa grande'.

*/

Casa grande pública getMansion ;

/ **

* Larry usará este método de pasar la propiedad a mí. (ver encima.)

* Su público desde su un asunto legal, de modo que lo haga un asunto público. Sin embargo,

* si no fuera un asunto legal, optaría seguramente por negar escriben el acceso a

* mi propiedad de la 'Casa grande' y sólo exponen una Propiedad sólo para leer.

*/

vacío público setMansion (Casa grande theMansion);

}\

</fuente>

Por favor note el uso de 'interfaz' en el susodicho (Java) código. Un interfaz en Java no puede tener campos del miembro, y definiendo (estilo de JavaBean) la propiedad accessor métodos (para definir una propiedad) en un interfaz es excelente para clarificar la distinción entre campos y propiedades. No se requiere una realización del susodicho interfaz tienen un campo de la 'Casa grande' en su definición de la clase.

Así podemos decir que 'Una propiedad es un elemento de datos virtual de un objeto y el acceso a la propiedad es manejado por los métodos del setter/escribir y comprador/leer.

Considerando que, podemos hablar ahora lo que es una Propiedad Atada.

Una propiedad atada de un objeto (como un artefacto) es la que que ha sido ligada a un contexto semántico y los cambios de su estado pueden afectar potencialmente el alcance más amplio (más allá del propio objeto de posesión) y así más allá de manejar simplemente el acceso a la propiedad, también tenemos que proporcionar medios de actualizar el contexto más amplio de los cambios de la propiedad.

Por ejemplo, en marcos GUI que emplean el modelo MVC, hay un juego intrínseco y explícito de objetos, (el modelo, la visión y el regulador,) que juntos apoyan la abstracción de un 'componente del interfaz del usuario visual': los cambios hechos en el modelo (típicamente a través de otro proceso) deben ser reflejados en el GUI (por la visión); y los cambios hechos por el usuario a través del GUI (así la 'Visión') se tienen que reflejar en el modelo; y la interacción es manejada por el regulador (que es típicamente el punto de extensión del marco GUI). Aquí, varias propiedades del modelo (típicamente el valor del elemento de datos que apoya la representación GUI) son del interés para otros objetos en el 'contexto obligatorio' de las propiedades del modelo: el modelo es la 'propiedad atada' del artefacto GUI y el contexto obligatorio es el propio artefacto, y el observador interesado es el regulador. Exponiendo un estándar ligó el interfaz de la propiedad, el modelo tiene al regulador en cuenta para registrar el interés a la propiedad del valor del modelo.

Después de Propiedad de ilustración del fragmento del código, podemos aumentar ahora el mismo interfaz para demostrar la noción de la Propiedad Atada:

paquete

org.wikipedia.en.object.semantics.property.example;

importación

org.wikipedia.en.taxonomies.domicile.Mansion;

importación

org.wikipedia.specification.component.PropertyChangeListner;

/ * *

* TrustFundBaby tiene (?) una Propiedad Atada (impresionante).

*/

interfaz público TrustFundBaby {\

//.. fragmento para aumentar encima de definición de interfaz de TrustFundBaby.

/ * *

* sé que algunos de ustedes ahí se interesan para saber cuando

* (y si) alguna vez termino con una Casa grande. Si hace, bien entonces,

* este método es sólo para usted: simplemente llame una vez y deje un

* referencia de la rellamada autodirigida para notificaciones. Voy

* le guardan fijado (¡promesa!) en la situación de la 'Casa grande'.

*

* (B. seguramente llamará este método de asegurarse que es (uno de) el

¡

* primero para saber si alguna vez consigo la Casa grande!)

*/

vacío público addMansionChangeListener (PropertyChangeListener

/ * *

* Un buscador de oro (y esto le incluye también, B.), a diferencia de la Página Seis, tiene un paso

* interés a mi situación de la Casa grande y probablemente no gustaría seguir oyendo sobre

* algunos otros acontecimientos en cuanto a mi propiedad de la Casa grande. ¿Abucheo Hoo? ¡J'e mon F! Simplemente

¡

* llaman este método sólo una vez y su Hasta La Vista, Bebé!... ¡NO!

*/

vacío público removeMansionChangeListener (PropertyChangeListner

}

</fuente>



Buscar