Analise as afirmativas abaixo em relação à orientação a obje...
1. Uma classe abstrata não pode instanciar objetos, mas pode ser herdada por outra classe.
2. Um método abstrato pode existir em uma classe abstrata ou não, e pode conter um corpo ou não.
3. Uma interface pode ser vista como uma classe abstrata que é usada para agrupar métodos sem corpo, ou seja, sem implementações.
Assinale a alternativa que indica todas as afirmativas corretas.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - São corretas apenas as afirmativas 1 e 3.
A questão aborda conceitos fundamentais da programação orientada a objetos em Java, focando em dois elementos-chave do paradigma: classes abstratas e interfaces. Além disso, trata da característica dos métodos abstratos. Vamos entender por que as afirmativas 1 e 3 são corretas e a afirmativa 2 é incorreta.
Afirmativa 1: "Uma classe abstrata não pode instanciar objetos, mas pode ser herdada por outra classe." Esta afirmativa é verdadeira. Em Java, uma classe abstrata é uma classe que não pode ser instanciada diretamente. Ou seja, você não pode criar um objeto de uma classe abstrata usando o operador new. No entanto, uma classe abstrata pode ser usada como uma superclasse para outras classes, permitindo que suas subclasses herdem seus métodos e atributos, e forneçam implementações específicas para métodos abstratos declarados na classe abstrata.
Afirmativa 2: "Um método abstrato pode existir em uma classe abstrata ou não, e pode conter um corpo ou não." Esta afirmativa é falsa. Métodos abstratos são declarados sem uma implementação (ou seja, sem corpo) e devem estar presentes em uma classe abstrata. Em Java, você não pode ter um método abstrato em uma classe que não é abstrata. Além disso, um método abstrato não pode conter um corpo; se o fizesse, deixaria de ser abstrato e seria um método concreto.
Afirmativa 3: "Uma interface pode ser vista como uma classe abstrata que é usada para agrupar métodos sem corpo, ou seja, sem implementações." Esta afirmativa é verdadeira. Interfaces em Java são usadas para definir um contrato que outras classes podem implementar. Elas são similares a classes abstratas no sentido de que não podem ser instanciadas e podem conter métodos abstratos sem corpo. No entanto, interfaces são mais flexíveis por permitirem que uma classe implemente múltiplas interfaces, ao passo que a herança de classes em Java é restrita a uma superclasse apenas.
Com base nessas explicações, a alternativa correta é a C, pois apenas as afirmativas 1 e 3 estão corretas.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
II - Falsa pois segundo Deitel Uma classe que contém quaisquer métodos abstratos deve ser expressamente declarada abstract, mesmo que ela contenha alguns métodos concretos (não abstratos).
Ou seja, se há metodo abstrato a classe é obrigatóriamente abstrata.
https://www.feg.unesp.br/Home/PaginasPessoais/profedsonluizfrancasenne/pc2-cap5.pdf
vale a leitura
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo