• Matéria: Informática
  • Autor: maxandretti
  • Perguntado 9 anos atrás

Quando uma classe implementa uma interface, a classe pode ser considerada uma especialização da interface. Por causa disso, nos lugares onde a interface deveria ser utilizada, a classe pode ser utilizada. Por exemplo: se um método recebe como parâmetro um objeto do tipo da interface, então poderá ser passada a subclasse como parâmetro. Observe o código e as afirmações e assinale a alternativa correta.



I - O método alimentar da classe Main não irá funcionar, pois ele recebe uma interface TemFome e é passado um objeto da classe Galinha.
II - O método mandarParaFazenda da classe Main não irá funcionar, pois ele recebe uma classe Animal e é passado um objeto da classe Galinha.
III - A classe Galinha está errada, pois ao invés de "implements TemFome" deveria estar escrito "extends TemFome".
IV - Apesar de Java não ter herança múltipla, é possível uma classe implementar várias interfaces, pois a interface nunca terá código para ser executado, tendo somente constantes e métodos abstratos.
V - Como Java não possui herança múltipla, uma classe pode estender no máximo uma classe.

Anexos:

Respostas

respondido por: edoelidilio
21
RESPOSTA:

Somente as afirmativas IV e V são corretas.



respondido por: eduardolucioacpbki6o
0

Resposta:

Alternativa 2: IV e V, apenas.

Explicação:

(F) I - O método alimentar da classe Main não irá funcionar, pois ele recebe uma interface TemFome e é passado um objeto da classe Galinha. -> Galinha implementa "TemFome".

(F) II – O método mandarParaFazenda da classe Main não irá funcionar, pois ele recebe uma classe Animal e é passado um objeto da classe Galinha. -> Galinha herda "Animal".

(F) III – A classe Galinha está errada, pois ao invés de “implements TemFome” deveria estar escrito “extends TemFome”. -> "TemFome" é interface, portanto "implements".

(V) IV – Apesar de Java não ter herança múltipla, é possível uma classe implementar várias interfaces, pois a interface nunca terá código para ser executado, tendo somente constantes e métodos abstratos. -> "herança múltipla" é possível para implementação ("implements") de interface.

(V) V – Como Java não possui herança múltipla, uma classe pode estender no máximo uma classe. -> Para classes concretas e mesmo abstratas não há "herança múltipla" apenas para interfaces.

Perguntas similares