¿Cuál es la diferencia entre el método <strong>Setter</strong> y el método <strong>Constructor</strong>?

Pregunta de la clase:
Getters y Setters
Sebastián Pineda Duque

Sebastián Pineda Duque

Pregunta
student
hace 8 años

¿Cuál es la diferencia entre el método Setter y el método Constructor?

7 respuestas
    Kervin Cortez

    Kervin Cortez

    student
    hace 8 años

    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

    Sebastián Pineda Duque

    student
    hace 8 años

    Cuando se refiere al “método”, es al método Setter?

    Kervin Cortez

    Kervin Cortez

    student
    hace 8 años

    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

    Moisés Roque Corona

    student
    hace 7 años

    A nivel de código su función es ++muy similar++ (pero sólo aplica a un constructor creado de manera explícita).

    • 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.

    Entonces, el crear un constructor sin argumentos y sin contenido resulta inútil:

    public Clase( ) { }
    Sebastián Pineda Duque

    Sebastián Pineda Duque

    student
    hace 7 años

    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

    Moisés Roque Corona

    student
    hace 7 años

    ... 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

    Helí Fernando Jerez Rincón

    student
    hace 6 años

    el constructor inicializa variables o el estado de la clase. El setter cambia el estado de un objeto ya inicializado

Curso Básico de Java SE 2018

Curso Básico de Java SE 2018

Java es un lenguaje de programación con el que puedes desarrollar software multiplataforma gracias a la JVM (Máquina Virtual de Java). Aprende las características fundamentales del lenguaje y desarrolla tus propios proyectos. Serás capaz de aplicar desde conceptos básicos, pasando por sus características orientadas a objetos y otros conceptos avanzados como herencia y polimorfismo.

Curso Básico de Java SE 2018
Curso Básico de Java SE 2018

Curso Básico de Java SE 2018

Java es un lenguaje de programación con el que puedes desarrollar software multiplataforma gracias a la JVM (Máquina Virtual de Java). Aprende las características fundamentales del lenguaje y desarrolla tus propios proyectos. Serás capaz de aplicar desde conceptos básicos, pasando por sus características orientadas a objetos y otros conceptos avanzados como herencia y polimorfismo.