Sebastián Pineda Duque
Pregunta¿Cuál es la diferencia entre el método Setter y el método Constructor?
- Los dos sirven para inicializar los atributos de las instancias (objetos) de una clase. Sólo que en el caso de un setter, ++cada uno++ de estos métodos se especializa en asignar ++un único atributo++ durante cualquier fase de la ejecución del programa.
- En cambio, un constructor es un método que se crea "al vuelo" durante la compilación del programa y sirve para reservar y asignar el espacio en la memoria que requieren los objetos/instancias de las clases. Este constructor se crea sin que sea necesario programarlo explícitamente.
- El constructor se utiliza ++una sola vez++, sólo en el momento en que los objetos son creados.
- Si hay más de un constructor, se pueden asignar los atributos al momento mismo de crear cada objeto o dejar que el constructor implícito asigne valores vacíos o nulos a los atributos.
Kervin Cortez
Un **constructor ** inicializa las propiedades de una instancia de clase a valores por defecto o a valores que necesito o deseo que el objeto tenga cuando se cree en memoria. Un constructor nunca devuelve un valor y solo es necesario invocarlo cuando se quiere construir el objeto de la clase.
Por otro lado un método es una porción de código que modifica o
realiza algo con las propiedades de la clase y que puede o no retornar un valor dado una vez termina. El método de una clase puede ser invocado cuando y cuantas veces queramos o necesitemos ocuparlo en nuestro código.
Sebastián Pineda Duque
Cuando se refiere al “método”, es al método Setter?
Kervin Cortez
si el metodo setter, solo ingresa datos a una variable privada, y este puede ser llamado en cualquier lugar del codigo
las variables son estas que dicen
private string nombreDeVariable;
entonces como son privadas no se puede acceder a ellas… el metodo setter si puede.
Moisés Roque Corona
A nivel de código su función es ++muy similar++ (pero sólo aplica a un constructor creado de manera explícita).
Entonces, el crear un constructor sin argumentos y sin contenido resulta inútil:
public Clase( ) { }
Sebastián Pineda Duque
Osea, ¿El método Constructor inicializa los atributos del objeto en la ejecución del programa (al inicio), y el Setter lo puede inicializa en cualquier fase del programa (si es necesario)?
Moisés Roque Corona
... el Setter lo puede inicializa en cualquier fase del programa (si es necesario)?
Si, aunque el término de 'inicializar' es sólo para establecer un valor cuando se crea el objeto. Una vez que el objeto ha sido creado (y tal vez inicializado) son los getters los que permiten hacer los cambios a las variables. Esto, para evitar 'tocar directamente' a los atributos.
Helí Fernando Jerez Rincón
el constructor inicializa variables o el estado de la clase. El setter cambia el estado de un objeto ya inicializado
