Sobes.tech
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:

  1. Através de métodos públicos (setters) — a classe fornece métodos para alterar seus campos, por exemplo setName(String name).
  2. 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).
  3. 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.