• Matéria: Informática
  • Autor: reginaldomicrocenter
  • Perguntado 7 anos atrás

Uma classe representa um conjunto de possíveis objetos que podem ser utilizados na programação. Se nós estivermos utilizando, por exemplo, classes para representar os seres vivos, podemos simplesmente criar uma classe SerVivo e fica subentendido que todos os seres vivos podem ser objetos desta classe. Na prática, todo ser vivo compartilha de alguns atributos em comum, por exemplo: está vivo. Apesar de diversos objetos poderem ser categorizados entre seres vivos, essa definição é bastante ampla e podemos especificar melhor em classes, como Animal ou Vegetal. Ambas compartilham dos atributos da classe SerVivo, mas nenhum objeto é declarado diretamente em SerVivo, mas em uma das subclasses (ou ainda alguma subclasse dessas subclasses). Sendo assim, a classe SerVivo pode ser representada como uma classe abstrata ou ainda como uma interface. Na programação em Java, podemos utilizar recursos como classes abstratas ou interfaces para a utilização de herança e polimorfismo. Classes abstratas e interfaces são conceitos parecidos, mas possuem diferenças. Desta forma, leias afirmaativas a seguir: I – Interfaces são iguais a classes abstratas, porém sem nenhum método declarado e com atributos apenas "final" e "static". II – A classe abstrata pode ter métodos declarados, que podem ser herdados por subclasses, e também podem ter objetos instanciados diretamente, ao contrário de interfaces. III – As interfaces podem herdar características de mais de uma interface ao mesmo tempo. IV – Uma classe pode herdar apenas de uma classe abstrata, mas pode implementar mais de uma interface ao mesmo tempo. Está correto o que se afirma em: Alternativas Alternativa 1: I e III, apenas. Alternativa 2: II e IV, apenas. Alternativa 3: I, II e III, apenas. Alternativa 4: I, III e IV, apenas. Alternativa 5: II, III e IV, apenas.

Respostas

respondido por: nemmatonada
10

Alternativa 5.  Apenas II, III, IV estão corretas.

A afirmação I está incorreta pois interfaces podem declarar métodos, somente não podem implementá-los.


felipeXavier77: mas a opção II- esta errada pq abstrato n pode ser instanciada
respondido por: BiaBomfim
20

Olá,


Vamos analisar as alternativas:


I – Interfaces são iguais a classes abstratas, porém sem nenhum método declarado e com atributos apenas "final" e "static".

Esta alternativa é FALSA, já que na realidade a interface pode declarar métodos.


II – A classe abstrata pode ter métodos declarados, que podem ser herdados por subclasses, e também podem ter objetos instanciados diretamente, ao contrário de interfaces.

Esta alternativa é VERDADEIRA, já que a Classe Abstrata não pode ser instanciada por si só, somente de maneira indireta, como através das herdadas por subclasses.


III – As interfaces podem herdar características de mais de uma interface ao mesmo tempo.

Esta alternativa é VERDADEIRA, já que as interfaces podem herdar características de mais de uma interface ao mesmo tempo.


IV – Uma classe pode herdar apenas de uma classe abstrata, mas pode implementar mais de uma interface ao mesmo tempo.

Esta alternativa é VERDADEIRA, já que uma classe só herda de apenas uma classe abstrata.


Acredito que a alternativa 5 esteja correta.



Perguntas similares