0% encontró este documento útil (0 votos)
17 vistas5 páginas

Introducción a Setters en Java y Android

Cargado por

palermo jimenez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas5 páginas

Introducción a Setters en Java y Android

Cargado por

palermo jimenez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1. ¿Qué es un Setter?

Un setter es un método que sigue una convención de nomenclatura estándar:


setNombreDelAtributo(valor).

Se utiliza para modificar el valor de un atributo privado de una clase, respetando el


principio de encapsulación. Esto permite controlar cómo se asignan valores a los
atributos.

Ejemplo Básico de un Setter


java
Copiar código
public class Persona {
private String nombre;

// Setter para el atributo 'nombre'


public void setNombre(String nombre) {
[Link] = nombre;
}
}

Uso del Setter


java
Copiar código
Persona persona = new Persona();
[Link]("Carlos");

Aquí, el método setNombre asigna el valor "Carlos" al atributo privado nombre.

2. ¿Cómo se Implementan los Setters en Android?


En Android, los setters se usan en modelos de datos o en componentes de la interfaz de
usuario. Por ejemplo:

Ejemplo con un Modelo de Datos


java
Copiar código
public class Usuario {
private String username;
private String email;

// Setter para 'username'


public void setUsername(String username) {
[Link] = username;
}
// Setter para 'email'
public void setEmail(String email) {
[Link] = email;
}
}

Usando el Modelo en una Actividad


java
Copiar código
Usuario usuario = new Usuario();
[Link]("usuario123");
[Link]("usuario@[Link]");

Ejemplo con un Componente de Interfaz

En Android, algunos elementos de la interfaz gráfica tienen sus propios setters para
modificar propiedades.

Modificar el Texto de un TextView

java
Copiar código
TextView textView = findViewById([Link]);
[Link]("Bienvenido a la App"); // Setter para el texto

Aquí, el método setText cambia el texto mostrado en un TextView.

3. Validaciones en Setters
Los setters pueden incluir lógica adicional, como validaciones, antes de asignar un valor
al atributo.

Ejemplo: Validar un Nombre


java
Copiar código
public void setNombre(String nombre) {
if (nombre != null && ![Link]()) {
[Link] = nombre;
} else {
throw new IllegalArgumentException("El nombre no puede estar
vacío");
}
}

Uso

java
Copiar código
Persona persona = new Persona();
[Link](""); // Lanza una excepción

4. Uso Avanzado: Setters con Componentes de Interfaz


Sincronización de Datos entre UI y Modelo

En aplicaciones Android, los setters pueden ser útiles para sincronizar los datos de la
interfaz de usuario con un modelo de datos.

Ejemplo Completo

1. Modelo de Datos:

java
Copiar código
public class Usuario {
private String nombre;
private int edad;

public void setNombre(String nombre) {


[Link] = nombre;
}

public void setEdad(int edad) {


if (edad > 0) {
[Link] = edad;
}
}
}

2. Actividad con la Interfaz:

java
Copiar código
public class MainActivity extends AppCompatActivity {
private EditText edtNombre, edtEdad;
private Button btnGuardar;
private Usuario usuario;

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);

edtNombre = findViewById([Link]);
edtEdad = findViewById([Link]);
btnGuardar = findViewById([Link]);

usuario = new Usuario();

[Link](v -> {
[Link]([Link]().toString());

[Link]([Link]([Link]().toString()));

// Aquí los datos ya están sincronizados en el modelo


[Link](this, "Usuario guardado",
Toast.LENGTH_SHORT).show();
});
}
}

5. Setters con Herencia


Cuando trabajas con herencia, puedes sobrescribir setters en clases hijas para
personalizar la asignación de valores.

Ejemplo: Clases de Herencia


java
Copiar código
public class Empleado extends Persona {
private double salario;

public void setSalario(double salario) {


if (salario > 0) {
[Link] = salario;
}
}
}

6. Generación Automática de Setters en Eclipse


Eclipse permite generar automáticamente getters y setters:

1. Haz clic derecho sobre la clase.


2. Selecciona Source > Generate Getters and Setters.
3. Elige los atributos y haz clic en OK.

Esto genera los métodos con la nomenclatura estándar.

7. Setters en Librerías de Android


Algunas librerías y frameworks como Data Binding o Room en Android también
dependen de getters y setters.

Ejemplo con Data Binding

1. Modelo de Datos:

java
Copiar código
public class Usuario {
private String nombre;
public void setNombre(String nombre) {
[Link] = nombre;
}

public String getNombre() {


return nombre;
}
}

2. Sincronización en el XML:

xml
Copiar código
<TextView
android:text="@{[Link]}" />

Errores Comunes con Setters


1. Olvidar Validaciones:
Permitir datos inválidos que pueden causar errores en la lógica.
2. No Usar Encapsulación:
Usar atributos públicos en lugar de getters y setters, rompiendo el principio de
encapsulación.

Resumen

• Los setters son métodos que permiten establecer valores de atributos privados,
asegurando encapsulación.
• En Android, se usan tanto en modelos de datos como en componentes de UI
(setText, setVisibility, etc.).
• Es buena práctica incluir validaciones en los setters para evitar datos
inconsistentes.
• Herramientas como Eclipse o Android Studio facilitan su generación
automática.

También podría gustarte