Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida Exercício C#

public class Banco
{
    private Conta [] contas = new Conta[10];

    private int quantidade;

    public void Adiciona(Conta conta)
    {
        this.contas[this.quantidade] = conta;
        this.quantidade++;
    }
}

O que foi feito nesse método? mais especificamente nessa linha

 this.contas[this.quantidade] = conta;
4 respostas

No momento que você chamar o "Adiciona", ele atribuirá a 'conta' que você passar ao array 'contas'. Ele usara como índice o "this.quantidade".

Por ex. na primeira vez que chamar ficará algo equivalente a isso:

this.contas[0] = conta;

na segunda chamada:

this.contas[1] = conta;

e assim por diante.

Entendi! E por que eu preciso usar o this nesse método? O que aconteceria se eu não utilizasse?

solução!

A palavra-chave this é usada para identificar o acesso a um membro da própria classe.

Nesse caso a classe Banco, para esse caso não fará diferença não utiliza-lo. Ele é necessário quando existem duas variáveis com o mesmo nome por exemplo:

public class Banco
{
    private Conta [] contas = new Conta[10];

    private int quantidade;//(1)

    //Vou passar mais um parâmetro no método apenas para ilustrar
    public void Adiciona(Conta conta, int quantidade)//(2)
    {
        this.contas[this.quantidade] = conta;
        this.quantidade++;//<-- (1) essa quantidade se referencia a quantidade da classe Banco
        quantidade++;//<-- (2)essa quantidade se referencia a quantidade passada no método Adiciona
    }
}

Complementando o colega Denis, o uso do "this" é opcional mas pode ser útil na leitura do código.

O "this"é utilizado para referenciar variáveis que são utilizadas em toda classe.

por exemplo:

public class MinhaClasse {
private float variavel01;

    private void MetodoComVariaveis( ){

    }
}

Usando o "this" fica legível em seu código que aquela variável também é utilizada fora do método.

Espero ter ajudado. Abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software