1
resposta

Duvida sobre Classe e onde fica localizado a informação.

class Conta
{
        public int numero;
        public string titular;
        public double saldo;
        public string cpf;
        public int agencia;
}

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Conta umaConta = new Conta();
        umaConta.numero = 1;
        umaConta.titular = "Joaquim José";
        umaConta.saldo = 1500.0;
        umaConta.cpf = "111.222.333-44";
        umaConta.agencia = 23;

        Conta outraConta = new Conta();
        outraConta.numero = 2;
        outraConta.titular = "Silva Xavier";
        outraConta.saldo = 2500.0;
        outraConta.cpf = "444.333.222-11";
        outraConta.agencia = 34;

        MessageBox.Show(umaConta.titular + " - " + umaConta.cpf + " - " + umaConta.agencia);
        MessageBox.Show(outraConta.titular + " - " + outraConta.cpf + " - " + outraConta.agencia);

    }
}

Minhas duvidas no caso são: Acho que minha duvida é muito básica, mas estou me perdendo nas aulas por causa delas.

Conta outraconta = new conta Isso seria instanciar uma nova conta? Instanciar uma nova conta seria apenas para demonstrar em um exemplo ou não deve ser usado para gerar o código em si? poderia colocar para o usuário criar cada uma delas através de um botão ou formulário? Estamos criando o código, depois de compilado como ficaria a informação? ela vai ser armazenada na memoria ou vai para o HD no projeto criado?

1 resposta

Olá, Rômulo, vamos às suas dúvidas:

Conta outraconta = new conta Isso seria instanciar uma nova conta?

Exato, o código Conta umaConta = new Conta(); serve para criar um objeto, que é uma instância de uma classe Conta. Já o código Conta outraConta = new Conta(); criar um novo objeto distinto do primeiro, que é outra instância da classe Conta. A "classe" tem esse nome porque ela serve justamente para isso, para criar "uma classe de objetos".

Instanciar uma nova conta seria apenas para demonstrar em um exemplo ou não deve ser usado para gerar o código em si?

O exemplo cria duas instâncias diferentes da classe Conta (uma conta bancária para cada cliente) para demonstrar como diferentes objetos da mesma classe podem coexistir na memória. Você pode criar quantos objetos você quiser (isto é, até o quanto a memória do computador permitir). O exemplo também mostra que as duas instâncias (objetos) são isolados e não se misturam, e são totalmente independentes um do outro.

poderia colocar para o usuário criar cada uma delas através de um botão ou formulário?

Sim, você pode criar dois botões, nesse caso haveria um botão para criar cada conta diferente.

Estamos criando o código, depois de compilado como ficaria a informação? ela vai ser armazenada na memoria ou vai para o HD no projeto criado?

Ela fica na memória somente enquanto o programa está em execução. Quando o programa termina, a memória é liberada e os dados são perdidos (imagine digitar um trabalho sem salvar e fechar o programa no meio do trabalho!). Para salvar os dados dos objetos (no caso, as contas bancárias) no disco rígido, é preciso armazenar no sistema de arquivos do Windows. Se você quiser saber mais, veja o artigo do MSDN Como gravar texto em um arquivo. (Depois você precisa ler o arquivo e colocar os dados de volta no objeto, é claro)

Boa sorte e bons estudos!