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:
Soluções para a tarefa
Olá, pesquisei um pouco a respeito do assunto para melhor ajudá-lo e creio que as alternativas da questão sejam:
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:
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.
Assim, podemos afirmar que a alternativa correta é 5) II, III e IV
Analisando as alternativas, temos:
I – Falsa, pois a interface pode declarar métodos.
II – Verdadeira, pois a classe abstrata não pode ser instanciada por si só, somente de maneira indireta, como através das herdadas por subclasses.
III – Verdadeira, já que as interfaces podem herdar características de mais de uma interface ao mesmo tempo.
IV – Verdadeira, já que uma classe só herda de apenas uma classe abstrata.
Espero ter ajudado, bons estudos :)
I – Confuso! Se ele quis dizer com "sem nenhum método declarado", como método "sem corpo", então está correto, caso contrário errado! Para mim está errado!
II – Errado com certeza!
III – Correto com certeza!
IV – Correto com certeza!
Então, o mais próximo de "correto" seria "Alternativa 4: I, III e IV, apenas."!