A partir das afirmativas abaixo relativas aos comandos da li...
I. A palavra chave class é usada para definir tipos derivados em Java. De fato, tais tipos constituem às principais estruturas dos programas orientados a objetos.
II. O modificador private, quando aplicado a um atributo de classe, impede que qualquer outra classe tenha acesso a tal atributo.
III. A palavra chave extends é usada para permitir a herança múltipla em Java.
IV. O modificador protected, quando aplicado a um atributo de classe, permite que classes filhas desta classe, tenham acesso a este atributo.
Estão corretas apenas as afirmativas:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - II e IV
Vamos analisar cada uma das afirmativas para compreender por que a alternativa B é a correta:
Afirmativa I: A palavra-chave class é utilizada em Java para definir uma nova classe, que é um tipo de estrutura fundamental na programação orientada a objetos. Classes são "modelos" a partir dos quais objetos são criados. Esta afirmativa está correta e destaca o conceito de classe em orientação a objetos.
Afirmativa II: O modificador private é usado para restringir o acesso a membros (métodos e variáveis) de uma classe. Quando um atributo é marcado como private, ele não pode ser acessado diretamente por nenhuma outra classe, exceto pela própria classe em que foi declarado. Portanto, essa afirmativa também está correta.
Afirmativa III: A palavra-chave extends é usada em Java para herança, mas é importante notar que Java não suporta herança múltipla, ou seja, uma classe em Java não pode estender mais de uma classe. Em vez disso, Java permite herança múltipla de interfaces usando a palavra-chave implements. Assim, esta afirmativa está incorreta.
Afirmativa IV: O modificador protected é um nível de acesso que permite que o membro de uma classe seja acessado por subclasses (classes filhas) e classes no mesmo pacote. Portanto, esta afirmativa está correta e reflete a utilidade do modificador protected em relação ao acesso de atributos.
Com base na análise das afirmativas, vemos que as afirmativas II (privacidade dos atributos) e IV (acesso protegido aos atributos) estão corretas, fazendo da alternativa B a resposta correta para a questão.
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
III. A palavra chave extends é usada para permitir a herança múltipla em Java.
Java não tem herança Múltipla.
Mas não sei bem pq a I ta errada :(
II. CORRETA.
III. ERRADA. Não existe herança múltipla no Java.
IV. CORRETA.
I. A palavra chave class é usada para definir tipos derivados em Java. De fato, tais tipos constituem às principais estruturas dos programas orientados a objetos. (Errado)
Resposta: Atributos derivados são representados por operações que simplesmente calculam o valor do atributo e retornam este valor como resultado da operação.
Por exemplo, sabemos que o século no qual uma pessoa nasceu é um atributo de Pessoa que pode ser calculado em função do ano de nascimento desta pessoa.
Similarmente, a idade de uma pessoa também é um atributo de Pessoa que pode ser calculado a partir do ano corrente e do ano de nascimento desta pessoa. Em Java, estes atributos são definidos da seguinte forma:
class Pessoa {
private int ano_de_nascimento;
private String nome, sobrenome;
private boolean casado = false;
int século_de_nascimento() {
return ...ano_de_nascimento...;
}
int idade(int ano_corrente) {
return ...ano_de_nascimento...;
}
...
}
III. A palavra chave extends é usada para permitir a herança múltipla em Java. (Errado)
Herança múltipla, em orientação a objetos, é o conceito de herança de duas ou mais classes.
Ela é implementada nas linguagens de programação C++ e em Python, por exemplo. A linguagem Java possui apenas herança simples (uma classe possui no máximo uma classe pai), mas permite que uma classe implemente várias interfaces.
Classes, Interfaces , Anotações e Enums
Os arquivos fonte da linguagem representam principalmente classes de objetos através de class
mas podem também representam interfaces com interface
enumerações com enum
ou anotações com @interface
. Note como a palavra interface
tem dois significados conforme é precedida ou não de @.
O palavra class
também é usada em conjunto com o nome da classes para definir o literal da classe. Por exemplo String.class
é um objeto instância da classe Class
de String.
Classes podem ser abstratas se classificadas com abstract
. O mesmo vale para métodos dentro da classe. Classes podem ser declaras inextensíveis se classificadas com final
. O mesmo vale para métodos dentro da classe. Classes e métodos podem ainda ser considerados estáticos quanto classificados com static
.
Classes podem herdar de outras classes com extends
e implementar interfaces com implements
Interfaces podem extender outras interfaces com extends
.
O operador instanceof
pode ser usado para verificar se um objeto representa uma instância de uma certa classe, interface, anotação ou enum.
lasses, Interfaces , Anotações e Enums
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo