Questão nº 27
Questão de Tecnologia da Informação · FCC PGE-AM 2022 (nº 27)
Considere o trecho de código Java abaixo.
```java
public class Procurador {
private String numOAB;
private String nome;
private String cpf;
public Procurador (){
}
public Procurador (String numOAB, String nome, String cpf){
this.numOAB = numOAB;
this.nome = nome;
this.cpf = cpf;
}
}
```
Considerando os fundamentos da Orientação a Objetos e o código acima, é correto afirmar:
- AA classe `Procurador` possui dois objetos com o mesmo nome da classe.
- BPara criar e instanciar um objeto da classe `Procurador` utilizam-se as instruções: `procurador Procurador1;` `Procurador1 = new procurador("AM123456","Maria da Silva","123456789-10");`
- CNa classe `Procurador` há dois construtores. Isso caracteriza sobrecarga de construtores. (alternativa correta)
- DHá somente uma única maneira de criar uma instância da classe `Procurador`, qual seja: `procurador Procurador2;` `Procurador2 = new procurador( );`
- EAs duas subclasses da classe `Procurador`, pelo mecanismo de herança, herdam todos os seus atributos.
Resposta comentada
Gabarito Alternativa C
Um construtor é um método especial de uma classe, com o mesmo nome da classe, usado para criar e inicializar objetos. Sobrecarga de construtores acontece quando uma classe tem vários construtores, todos com o mesmo nome (o nome da classe), mas com diferentes listas de parâmetros.
- (A) Incorreta: A classe
Procuradordefine um tipo. Os elementos com o mesmo nome da classe dentro dela são os construtores, não "objetos". Objetos são instâncias da classe criadas em tempo de execução. - (B) Incorreta: A sintaxe para instanciar objetos está incorreta. O nome da classe (
Procurador) deve ser usado com a primeira letra maiúscula, e o nome da variável (procurador1) deve seguir as convenções de Java. - (C) Correta: A classe
Procuradorpossui dois métodos com o nomeProcurador. Um não recebe parâmetros (public Procurador ()) e o outro recebe três parâmetrosString(public Procurador (String numOAB, String nome, String cpf)). Essa existência de múltiplos construtores com o mesmo nome, mas com diferentes listas de parâmetros, é a definição exata de sobrecarga de construtores. Isso permite criar objetos de formas distintas. - (D) Incorreta: Como a classe tem dois construtores, há duas maneiras de criar uma instância: usando o construtor sem parâmetros ou usando o construtor com três parâmetros. A alternativa sugere que há apenas uma maneira.
- (E) Incorreta: O código fornecido define apenas a classe
Procurador. Nenhuma subclasse é declarada ou sequer mencionada no contexto, tornando a afirmação sobre herança irrelevante e incorreta para este trecho de código.
Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia de Software (Caderno Tipo 001). Reproduzida para fins de estudo.