Junior — Middle
¿De qué manera el código externo puede modificar el estado de una clase?
sobes.tech AI
Respuesta de la IA
El código externo puede modificar el estado de una clase de varias maneras:
- A través de métodos públicos (setters) — la clase proporciona métodos para cambiar sus campos, por ejemplo
setName(String name). - A través de campos públicos — si los campos de la clase están declarados como
public, el código externo puede modificarlos directamente (no recomendado debido a la violación de la encapsulación). - Uso de patrones de diseño — por ejemplo, mediante el patrón Builder o mediante métodos que devuelven objetos modificables.
Ejemplo en Kotlin (Android):
class User {
var name: String = ""
private set // prohibimos la modificación directa externa
fun updateName(newName: String) {
name = newName
}
}
val user = User()
user.updateName("Иван") // cambio de estado mediante método
Por lo tanto, el mejor enfoque es proporcionar acceso controlado para modificar el estado a través de métodos de la clase, manteniendo la encapsulación.