Java - constructor vs get/set

 
Vista:

constructor vs get/set

Publicado por juan sanchez (1 intervención) el 03/04/2015 22:47:37
Hola :D estoy teniendo una duda no tanto un problema y queria ver si me podrian ayudar. estoy desarrollando en Java Netbeans mis programas y tengo una duda cuando estoy utilizando clases, la duda es la siguiente. Estoy viendo en libros y tutoriales que cuando creo una clase, tengo que hacer el GET SET y el CONSTRUCTOR, sin embargo estoy viendo que el set hace exactamente lo mismo que el constructor, solo que el constructor pone los nombres de las variables en los parametros.

al inicio empece haciendo programas usando GET y SET sin CONTRUCTORES, y los programas corren bien sin ningun problema ni warning. mi pregunta es esta no le pasa nada al contenido de las variables, la estructura o funcionamiento del programa si omito los constructores y uso GET/SET, tengo la duda porque he estado leyendo y viendo tutoriales en linea pero ninguno me dice que es mortal si no incluyo los CONSTRUCTORES siempre y cuando utilice GET/SET para inicializar las variables.

despues de todo los CONSTRUCTORES inicializan las variables de las clases al inicio, y con GET/SET pueden ser reinicializadas posteriormente en caso que se necesite.

les agradezco mucho su atencion y tiempo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 214
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

constructor vs get/set

Publicado por juanki (131 intervenciones) el 04/04/2015 17:58:11
Hola

El constructor y los métodos set/get son cosas muy diferentes y para propósitos diferentes.

El constructor en un método que se llama automáticamente cuando creas el objeto, se suele usar para inicializar los datos que necesita el objeto.

En cambio los set/get son para establecer/leer el contenido de alguna variable. Si estás viendo programación orientada a objetos, verás que una de sus características es el encapsulamiento, es decir, las variables internas de un objeto se hacen privadas, así no se puede acceder a ellas desde fuera del objeto, por eso se usan esos dos métodos (que es una convención de nombre, tu puedes llamarlos como quieras), para manipular los datos.

Esto te permite cambiar en un futuro la clase sin que tengas que cambiar todo el programa en el que lo usas. Por ejemplo, imagina que creas una clase que uno de sus datos es una fecha. Creas la variable pública y desde tu programa vas leyéndola y cambiándola. Ahora imagina que quieres controlar que la fecha sea válida. Pues resulta que tienes que repasar todo el programa y buscar donde accedes a esa variable del objeto y hacer los cambios oportunos. En cambio, si hiciste la variable privada y accedes a ella mediante un get/set, solo tienes que modificar dicho método y añadir ahílos controles. Mucho más fácil, rápido y menos propenso a errores.

También, si en el momento de crear el objeto no tienes todos los datos que necesita disponibles, el constructor puede iniciarlos a 0, por ejemplo, y luego usar set para establecerlo cuando lo tengas. Todo de pende de como esté hecho tu programa.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar