Junior — Middle
De que forma o código externo pode modificar o estado de uma classe?
sobes.tech IA
Resposta da IA
O código externo pode modificar o estado de uma classe de várias maneiras:
- Através de métodos públicos (setters) — a classe fornece métodos para alterar seus campos, por exemplo
setName(String name). - Através de campos públicos — se os campos da classe forem declarados como
public, o código externo pode modificá-los diretamente (não recomendado devido à violação da encapsulação). - Uso de padrões de projeto — por exemplo, através do padrão Builder ou de métodos que retornam objetos modificáveis.
Exemplo em Kotlin (Android):
class User {
var name: String = ""
private set // proibido alterar diretamente de fora
fun updateName(newName: String) {
name = newName
}
}
val user = User()
user.updateName("Иван") // alteração de estado via método
Portanto, a melhor abordagem é fornecer acesso controlado à alteração do estado através de métodos da classe, mantendo a encapsulação.