Logo Passei Direto
Buscar
ergunta 21 (1 ponto) Um desenvolvedor está criando um sistema de gerenciamento de animais para um pet shop. Cada animal tem um nome e pode emitir sons característicos da sua espécie. No sistema, é necessário garantir que cada tipo de animal possa ter sua própria forma de emitir som, sem que seja preciso modificar diretamente a classe principal de animais. Além disso, o desenvolvedor deseja organizar o código de modo que, caso novos tipos de animais sejam adicionados futuramente, o sistema possa ser facilmente expandido, sem necessidade de grandes alterações. O pseudocódigo a seguir representa parte do sistema desenvolvido. Pseudocódigo em Java Classe Animal Atributo: nome Método: emitirSom() // Método genérico Classe Cachorro herda Animal Método: emitirSom() Escreva "O cachorro late" Classe Gato herda Animal Método: emitirSom() Escreva "O gato mia" Classe Peixe herda Animal Método: emitirSom() Escreva "Peixes não emitem som" // Código principal Objeto dog = novo Cachorro("Rex") Objeto cat = novo Gato("Mimi") Objeto fish = novo Peixe("Nemo") dog.emitirSom () // Saída esperada: "O cachorro late" cat.emitirSom () // Saída esperada: "O gato mia" fish.emitirSom () // Saída esperada: "Peixes não emitem som" Considerando as informações apresentadas, avalie as afirmações a seguir. I) O código implementa o conceito de polimorfismo, permitindo que diferentes classes sobrescrevam o método emitirSom(). II) O encapsulamento pode ser aplicado ao código, protegendo os atributos da classe Animal e permitindo o acesso a eles somente por meio de métodos específicos. III) A herança utilizada no código permite que todas as classes compartilhem o mesmo comportamento de emissão de som, sem necessidade de sobrescrita de métodos. IV) A estrutura do código favorece a escalabilidade do sistema, permitindo a adição de novos tipos de animais sem necessidade de modificar diretamente a classe Animal. É correto o que se afirma em Opções da pergunta 21: A) I, apenas. B) II, apenas. C) I, II e IV, apenas. D) II, III e IV, apenas. E) I, II, III e IV.
User badge image
Paulino

ontem

User badge image
Paulino

ontem

Respostas

User badge image

Ed Verified user icon

ontem

Vamos analisar cada uma das afirmações: I) O código implementa o conceito de polimorfismo, permitindo que diferentes classes sobrescrevam o método emitirSom(). Verdadeiro, pois as classes Cachorro, Gato e Peixe estão sobrescrevendo o método emitirSom() da classe Animal, o que é um exemplo de polimorfismo. II) O encapsulamento pode ser aplicado ao código, protegendo os atributos da classe Animal e permitindo o acesso a eles somente por meio de métodos específicos. Verdadeiro, embora o pseudocódigo não mostre explicitamente os modificadores de acesso, é uma boa prática em programação orientada a objetos proteger os atributos e permitir acesso por métodos. III) A herança utilizada no código permite que todas as classes compartilhem o mesmo comportamento de emissão de som, sem necessidade de sobrescrita de métodos. Falso, pois cada classe (Cachorro, Gato, Peixe) sobrescreve o método emitirSom() para fornecer um comportamento específico, então não é correto afirmar que não há necessidade de sobrescrita. IV) A estrutura do código favorece a escalabilidade do sistema, permitindo a adição de novos tipos de animais sem necessidade de modificar diretamente a classe Animal. Verdadeiro, pois novas classes de animais podem ser adicionadas facilmente, implementando o método emitirSom() sem alterar a classe Animal. Com base nas análises, as afirmações verdadeiras são I, II e IV. Portanto, a alternativa correta é: C) I, II e IV, apenas.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina