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