Getters y Setters


martes, 5 de diciembre de 2023

Los métodos getters y setters son esenciales para garantizar un acceso controlado a los atributos de una clase. Estos métodos permiten obtener y modificar los valores de los atributos, respetando los principios de encapsulación y proporcionando una interfaz segura para interactuar con los objetos.

Método Getter

El método Getter es una convención utilizada para acceder y obtener el valor de un atributo privado de una clase. Los atributos privados están encapsulados, lo que significa que no son accesibles directamente desde fuera de la clase. 

El método Getter proporciona un mecanismo controlado y seguro para recuperar el valor de estos atributos.

La sintaxis estándar para un método Getter es getNombreAtributo(). Por ejemplo, si tienes un atributo privado llamado nombre, el Método Getter se llamaría getNombre().

public class Persona {
    private String nombre;

    // Getter para obtener el valor de 'nombre'
    public String getNombre() {
        return nombre;
    }
}

Cuando creas instancias de la clase Persona, el atributo nombre no es directamente accesible desde fuera de la clase.

Para obtener el valor de nombre, utilizarías el método getNombre().

Ejemplo de uso:

public class Main {
    public static void main(String[] args) {
        Persona persona = new Persona();
        // Usando el Método Getter para obtener el nombre
        String nombre = persona.getNombre();
        System.out.println("Nombre: " + nombre);
    }
}

Los métodos get pueden incluir lógica adicional si es necesario. Por ejemplo, podrían realizar validaciones antes de devolver el valor, formatear los datos, o cualquier otra operación necesaria.

public class Persona {
    private int edad;

    // Método Getter con lógica adicional
    public int getEdad() {
        if (edad < 0) {
            // Si la edad es negativa, se devuelve 0
            return 0;
        }
        return edad;
    }
}

Método Setter

El método Setter es una convención utilizada para establecer o modificar el valor de un atributo privado de una clase. Este método proporciona una interfaz controlada y segura para actualizar los valores internos de una instancia de clase, contribuyendo al principio de encapsulamiento en la programación orientada a objetos.

La convención para un método Setter es setNombreAtributo(). Por ejemplo, si tienes un atributo privado llamado nombre, el método Setter se llamaría setNombre(String nuevoNombre).

public class Persona {
    private String nombre;

    // Método Setter para el atributo 'nombre'
    public void setNombre(String nuevoNombre) {
        this.nombre = nuevoNombre;
    }
}

Para cambiar el valor de un atributo privado, utilizas el método Setter. Este método toma un parámetro que representa el nuevo valor que deseas asignar al atributo.

public class Main {
    public static void main(String[] args) {
        Persona persona = new Persona();
        // Usando el Método Setter para cambiar el nombre
        persona.setNombre("Juan");
    }
}

Los métodos Setter a menudo incluyen lógica de validación para asegurarse de que el nuevo valor sea aceptable antes de asignarlo al atributo. Esta validación puede incluir verificaciones de rangos, formatos, o cualquier otra condición necesaria.

public class Estudiante {
    private int nota;

    // Método Setter con validación
    public void setNota(int nuevaNota) {
        if (nuevaNota >= 0 && nuevaNota <= 100) {
            this.nota = nuevaNota;
        } else {
            System.out.println("La nota debe estar en el rango de 0 a 100.");
        }
    }
}

Compártelo

Compártelo en tus redes sociales y desafía a tus amigos a resolver problemas de programación. Juntos, podemos aprender y crecer.

Copiado

El codigo se ha copiado correctamente en el portapapeles.

Más Ejercicios

Continua mejorando tus habilidades de programación en Java con nuestra selección de ejercicios prácticos de la lección. ¡Haz clic en Practicar y desafía tus conocimientos!

1

Clases y objetos

Explora los fundamentos de la programación orientada a objetos en Java. Aprende sobre clases y objetos, los componentes esenciales que dan vida a la modularidad y reutilización del código en este lenguaje de programación versátil.

2

Atributos y métodos

Explora la esencia de la programación orientada a objetos en Java al comprender a fondo los atributos y métodos. Descubre cómo estos elementos fundamentales son cruciales para la creación de clases y objetos, proporcionando modularidad y eficiencia en el desarrollo de software.

3

Constructores

Descubre la importancia de los constructores en Java y cómo inicializan objetos de manera crucial. Aprende las mejores prácticas para garantizar la coherencia en la creación de instancias y optimiza tu código con nuestros ejemplos detallados.

4

Modificadores de acceso

En Java los modificadores de acceso son fundamentales para controlar la visibilidad y el alcance de los atributos y métodos dentro de una clase. 

5

Getters y Setters

Aprende a crear interfaces seguras con métodos getters y setters en Java. Descubre cómo estos métodos favorecen la encapsulación y proporcionan un control preciso sobre la modificación de atributos.

6

Clase Persona y método ToString()

Crea un programa en Java que solicite tres nombres de personas al usuario y los almacene en un array de objetos de tipo Persona.

7

Constructores y destructores

Crea un programa en Java que solicite tres nombres de personas al usuario y los almacene en un array de objetos de tipo Persona.

8

Operador instanceof

El operador instanceof en Java se utiliza para verificar si un objeto es una instancia de una clase, subclase o implementa una interfaz específica.

9

Clases anidadas e internas

Las clases anidadas e internas en Java están definidas dentro de otra clase y tienen acceso a los miembros de la clase contenedora, incluyendo los miembros privados.

10

Clase persona, estudiante y profesor

Cree un nuevo proyecto en Java con tres clases más otra clase para probar la lógica del código. Las clases principales del programa son las siguientes clases.

11

Clase álbum de fotos

Cree un programa en Java para gestionar un álbum de fotos utilizando la programación orientada a objetos.

12

Creación de Clases y Objetos

Crear una clase llamada "Persona" con atributos como nombre, edad y dirección. Luego, crear objetos de la clase "Persona" e inicializar sus atributos. Implementar métodos para mostrar y modificar estos atributos.

13

Herencia

La herencia en Java es uno de los pilares fundamentales de la programación orientada a objetos (POO). Proporciona un mecanismo mediante el cual una clase puede heredar propiedades y comportamientos de otra clase.

14

Clases abstractas

Una clase abstracta es una clase que no puede ser instanciada directamente. Esto significa que no puedes crear objetos directamente a partir de una clase abstracta mediante el operador new.

15

Herencia de objetos

Crea un programa en Java que solicite tres nombres de personas al usuario y los almacene en un array de objetos de tipo Persona.

16

Formas - Diagrama de clases

Cree un programa en Java que represente el siguiente diagrama de clases UML.

17

Interfaces

Crea un programa en Java que implemente una interfaz IVehiculo con dos métodos, uno para Conducir de tipo void y otro para Repostar de tipo bool que tenga un parámetro de tipo entero con la cantidad de gasolina a repostar.

18

Clases abstractas

Crea un programa en Java que implemente una clase abstracta Animal que tenga una propiedad Nombre de tipo texto y tres métodos SetNombre(string nombre), GetNombre y Comer.

Programación orientada a objetos

Practica ejercicios en Java de programación orientada a objetos. Aprende a usar constructores, destructores, la herencia, las interfaces entre otros.

Conceptos fundamentales
Ejercicios prácticos

Seguir aprendiendo

Curso de Programación en C#

Curso de programación gratuito con ejercicios y soluciones prácticas en C#. ¡Comienza a aprender ahora mismo!

Exercises C# App

Lleva tus lecciones de Exercises C# a todas partes con nuestra aplicación para Android. Descárgala ahora desde Google Play.