Ed
há 8 meses
Vamos analisar as alternativas com base no conceito de programação orientada a objetos que está sendo descrito. A classe abstrata `Funcionario` define um método abstrato `trabalhar()`, e as classes `Desenvolvedor` e `Gerente` implementam esse método de maneiras específicas. Isso significa que o mesmo método (`trabalhar()`) pode ter diferentes comportamentos dependendo da classe que o implementa. Agora, vamos analisar as opções: A) Encapsulamento, pois trabalhar() está oculto nas subclasses. - O encapsulamento se refere à ocultação de dados, não se aplica diretamente aqui. B) Herança múltipla, com Desenvolvedor e Gerente herdando de várias classes. - Não é o caso, pois estamos falando de herança simples (uma classe base). C) Implementação de interface, onde trabalhar() é um método de uma interface. - Não se trata de uma interface, mas sim de uma classe abstrata. D) Polimorfismo, com diferentes implementações do mesmo método em subclasses. - Esta é a definição correta, pois o polimorfismo permite que o mesmo método tenha diferentes implementações em subclasses. E) Sobrecarga de método, onde trabalhar() tem várias versões com parâmetros diferentes. - Isso se refere a ter o mesmo método com diferentes assinaturas na mesma classe, o que não é o caso aqui. Portanto, a alternativa correta é: D) Polimorfismo, com diferentes implementações do mesmo método em subclasses.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Mais perguntas desse material