2
respostas

Não precisa de new ContaCorrente(); ???

Achei que o cordigo estava errado pois não foi aplicada a linha.

ContaCorrente outraConta = new ContaCorrente();

Por que essa linha não se faz necessaria ao apontar novos objetos?

class Program
{
    public static void Main(string [] args)
    {
        ContaCorrente minhaConta = new ContaCorrente();
        minhaConta.saldo = 500;

        ContaCorrente outraConta = minhaConta;
        outraConta.saldo += 1000;

        Console.WriteLine(minhaConta.saldo);
        Console.ReadLine();
    }
}
2 respostas

Olá Eduardo,

Eu não sei como está sua classe de "ContaCorrente", mas caso a propriedade "saldo" esteja como public, teria como pegar o valor dele e passar em outro objeto na mesma instancia, caso esteja como "private" isso não seria possivel, exemplo:

public class ContaCorrente {
    private int Saldo; //field

    //caso esteja como private, não teria como pegar o valor 
    public int saldo //property
    {
        get{return this.Saldo;}
        set{this.Saldo = value;}
    }
    public ContaCorrente(){}
}
class Program {
    static void Main(string[] args) {

        ContaCorrente minhaConta = new ContaCorrente();
        minhaConta.saldo = 500;

        ContaCorrente outraConta = minhaConta; 
        outraConta.saldo += 1000; 
        Console.WriteLine(minhaConta.saldo); //
        Console.ReadLine();
    }  
}

Isso é um conceito de Propriedades e encapsulamento

Olá Eduardo.

A linha ContaCorrente outraConta = new ContaCorrente() cria uma nova conta. Ela indica que você vai criar um novo (new) objeto do tipo ContaCorrente.

Para o código que vc escreveu não seria necessário criar um nova conta. Mas vc pode criar quantas contas forem necessárias.

Espero ter ajudado.