Explicação
1. Atributos Privados e Encapsulamento: Os atributos nome, velocidadeMaxima e ativo estão protegidos, ou seja, não podem ser acessados diretamente de fora da classe.
Métodos como obterVelocidadeMaxima e definirAtivo controlam o acesso e a modificação desses atributos.
2. Conceito de Getters e Setters: O método estaAtivo é um getter que retorna o estado atual do dispositivo. O método definirAtivo é um setter que permite modificar o estado do dispositivo.
O método definirVelocidadeMaxima é um setter privado, acessado apenas internamente pelo construtor da classe, para garantir que a lógica de inicialização permaneça encapsulada.
3. Inicialização com o Construtor: Cada dispositivo é inicializado com base em sua categoria, o que define seu nome e velocidade máxima.
Por padrão, os dispositivos são criados no estado inativo (ativo = false).
Exercite seu aprendizado!