tem uma hora no exericio que o instrutor pega atributos da classe mae sem getters.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
tem uma hora no exericio que o instrutor pega atributos da classe mae sem getters.
Olá Pedro Henrique,
Isso pode acontecer dependendo de como os atributos da classe mãe foram declarados. Em Java, uma classe filha consegue acessar diretamente os atributos da classe mãe quando eles possuem o modificador protected. Nesse caso, não é obrigatório utilizar getters para acessar esses valores.
Por exemplo:
class Notificacao {
protected String mensagem;
}
class Email extends Notificacao {
public void enviar() {
System.out.println(mensagem);
}
}
Nesse exemplo, a classe Email consegue acessar o atributo mensagem diretamente porque ele foi declarado como protected.
Por outro lado, se o atributo estiver declarado como private, a classe filha não terá acesso direto e precisará utilizar um getter:
class Notificacao {
private String mensagem;
public String getMensagem() {
return mensagem;
}
}
class Email extends Notificacao {
public void enviar() {
System.out.println(getMensagem());
}
}
É importante destacar que, embora o acesso direto por meio de atributos protected seja permitido, muitos desenvolvedores preferem utilizar getters e setters para manter o encapsulamento da classe. Essa abordagem torna o código mais flexível e facilita futuras alterações na implementação sem impactar as classes filhas.
Como dica extra, procure observar se o instrutor está utilizando o exemplo para demonstrar especificamente o conceito de herança. Em contextos educacionais, às vezes são feitas simplificações para destacar um conceito específico, enquanto em projetos reais normalmente buscamos um maior nível de encapsulamento.
Continue prestando atenção nesses detalhes de implementação. Questionamentos como esse mostram que você não está apenas reproduzindo código, mas tentando entender os motivos por trás das decisões de design, que é exatamente o que diferencia um programador que evolui rapidamente.
Bons estudos.