hola, tengo una duda: ¿hay propiedades en java? me refiero a propiedades como por ejemplo en c# property get y property set.
un saludo.
| |||
Respuesta: ¿hay propiedades en java? (propiedades de clase) pues me alegro, ya que no me doy a programar métodos para acceder a las variables privadas. ¿cómo podría definir entonces una variable privada mediante una propiedad? por ejemplo: class MyClass {private string Name; private string Dni; public property Name {aquí irían los métodos get y set pero... ¿cómo?} } |
| ||||
Respuesta: ¿hay propiedades en java? (propiedades de clase) Hola, Cita: La diferencia está basicamente en el lenguaje. La especificación de JavaBeans te dice que tienes que crear los getters y setters de una manera específica para que cumpla con la especificación. Aunque no es parte del lenguaje Java propiamente, al contrario que VB y C#. (Inclusive tienes que crear un constructor sin parámetros y el serial version etc.)java.sun.com/javase/technologies/desktop/javabeans/index.jsp Por ejemplo,
Código:
Los getters y setters los usan los contenedores JavaBeans a traves de introspección de código, es decir, cuando creas un JPanel en NetBeans, y le creas propiedades públicas (personalizadas) esas deberían aparecen en la ventana de Properties, puesto NetBeans investigó dentro de la clase y encontró un get y un set con el mismo nombre.public class MyClass { private String name; public MyClass { super(); } public String getName() { return this.name; } public void setName(String name) { this.name = name; } } En el caso de 'readonly' solamente le declaras el getters, etc. Los valores boolean se declaran con 'is' en lugar de 'get'. Lo mismo sucede con las páginas JSP, utilizan introspección para saber cual es el getter y setter. Lo puedes comparar vagamente con los ActiveX (COM+ de Microsoft) en cierta forma (principalmente si los has trabajado en C++), el contenedor del ActiveX no sabe que propiedades tiene el control. Por medio de ciertas llamadas internas (lo que vendría siendo introspección en este caso), le pregunta que cosas soporta y y cuales no. (Como el caso de un ActiveX Flash dentro de una página de Internet). Pero en este caso lo tienes que saber y aplicarlo, el compilador no va a decir nada si tu clase Java no cumple con los requerimientos de JavaBeans. Saludos, |