Sobes.tech
Intern

¿Qué es un getter y un setter?

sobes.tech AI

Respuesta de la IA

Un getter y un setter son métodos especiales utilizados en programación orientada a objetos para acceder y modificar los valores de campos privados (o protegidos) de una clase.

Getter:

  • Proporciona acceso controlado para leer el valor del campo.
  • Generalmente tiene un nombre que comienza con get (por ejemplo, getName()).
  • Puede realizar acciones adicionales antes de devolver el valor (por ejemplo, formateo o validación).

Setter:

  • Proporciona acceso controlado para escribir un nuevo valor en el campo.
  • Generalmente tiene un nombre que comienza con set (por ejemplo, setName()).
  • Puede realizar validaciones de los datos de entrada antes de asignar el valor al campo.
  • Permite implementar lógica al cambiar el valor del campo (por ejemplo, notificar a otras partes del programa).

Ejemplo en Python:

class Person:
    def __init__(self, name):
        self._name = name # Campo privado

    # Getter
    def get_name(self):
        return self._name

    # Setter
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Nombre inválido")

# Uso
person = Person("Alice")
print(person.get_name()) # Uso del getter

person.set_name("Bob") # Uso del setter
print(person.get_name())

person.set_name("") # Ejemplo de uso del setter con validación

El uso de getters y setters favorece la encapsulación, permitiendo gestionar el acceso y la modificación de datos dentro del objeto, asegurando una mejor estructura y mantenibilidad del código.