Buscar

4. Imagine que criemos uma classe chamada 'Funcionario', onde seu construtor padrão recebe uma String com o nome do funcionário, um inteiro com seu...

4. Imagine que criemos uma classe chamada 'Funcionario', onde seu construtor padrão recebe uma String com o nome do funcionário, um inteiro com seu número de identificação e um double com seu salário. Os dados, dentro da classe, são:
private String nome;
private int ID;
private double salario;
O cabeçalho do construtor é:
public Funcionario( String nome, int ID, double salario)
A atribuição foi feita da seguinte forma:
nome = nome;
ID = ID;
salario = salario;
Como se percebe, as variáveis da classe e as variáveis do cabeçalho tem o mesmo nome. Como resolver isso? como o Java vai saber que as variáveis da esquerda se referem as variáveis 'private' da classe a as da direita são as que o usuário mandou para criar o objeto?
Julgue as afirmativas a seguir:
I-Uma saída seria criar o método com nomes de variáveis diferentes:
public Funcionario( String Nome, int id, double Salario){
nome = Nome;
ID = id;
salario = Salario;
}
II-A saída apresentada em I é aceitável, mas incômoda e desorganizada, pois dois nomes para um mesmo tipo de variável seriam criados. Em uma situação real, em que um programa em Java pode ter centenas de variáveis e o programador tiver que criar e decorar nomes de variáveis, isso pode se transformar em um grande problema.
III-A explicação dada em I não está correta.
IV-Uma forma de se resolver o problema seria o uso de this, que aponta para a própria classe, ficando o código da seguinte forma:
public Funcionario( String nome, int ID, double salario){
this.nome = nome;
this.ID = ID;
this.salario = salario;
}
V-O this é usado, portanto, fora da classe. Assim, sempre que colocarmos 'this.' antes de uma variável, fica implícito ao Java que estamos nos referindo aos atributos daquela Classe.

Essa pergunta também está no material:

PROVA AV2 PROGRAMAÇÃO 1 - JAVA
4 pág.

Programação I Universidade Estácio de SáUniversidade Estácio de Sá

💡 1 Resposta

User badge image

Ed Verified user icon

Para resolver o problema de ambiguidade entre os nomes das variáveis do construtor e as variáveis da classe, podemos utilizar a palavra-chave "this" em Java. Quando usamos "this" antes de uma variável dentro de um método, estamos indicando que essa variável pertence à própria classe. Dessa forma, o Java consegue distinguir entre as variáveis locais (do método) e as variáveis de instância (da classe). Analisando as afirmativas: I - Correta. Uma saída é criar o método com nomes de variáveis diferentes e utilizar o "this" para referenciar as variáveis de instância. II - Correta. Embora seja aceitável, ter dois conjuntos de nomes para as mesmas variáveis pode ser confuso e desorganizado. III - Incorreta. A explicação dada em I está correta. IV - Correta. Utilizar o "this" é uma forma comum de resolver esse tipo de problema em Java. V - Incorreta. O "this" é usado dentro da classe para referenciar os atributos da própria classe, não fora dela. Portanto, as afirmativas I, II e IV estão corretas.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais

Outros materiais