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

private Conta conta

Nao entendo porque no Form1 se coloca o private Conta conta?

public partial class Form1 : Form 
{
    private Conta conta;

    // outros métodos do formulário
}
10 respostas

A variável conta só deve/pode ser acessada/modificada dentro do formulário. Por isto o modificador private é usado.

Mas nao entendo o porque de colocar o atributo conta do tipo conta.

A classe conta já esta criada. O proximo passo nao seria instancia-la?

Olá Janile, tudo bem? Estamos colocando conta como atributo da classe Form1 para que possamos utilizá-la em todos os métodos da nossa classe Form1. O método Form1_Load inicializa (cria a instância da classe conta e armazena no atributo conta da classe Form1). No método button1_Click utilizamos a instância de conta criada previamente pelo método Form1_Load. O atributo conta da classe Form1 é a referência (ainda não inicializada). O objeto em si é criado pelo método Form1_Load e depois esse mesmo objeto conta é utilizado pelo método button1_Click.

Mas eu ja criei uma classe conta com seus atributos sendo publicos. Mesmo assim necessito coloca-la como atributo do Form1?

Sim! Acho que você tem duvidas sobre os modificadores de acesso, dá uma olhadinha nesse post: https://docs.microsoft.com/pt-br/dotnet/articles/csharp/language-reference/keywords/access-modifiers

Oi Janile, boa noite! Vamos ver se eu entendi sua dúvida... Você tem uma classe chamada Conta, e digamos que ela tenha como atributos apenas o número, o titular e o saldo. Essa classe é como se fosse um "modelo" para que você possa criar objetos do tipo "Conta", você pode ter N objetos; O fato de sua classe ser pública, quer dizer que você pode acessá-la de outras parte do seu projeto, se ela fosse privada, por exemplo, você não conseguiria instanciar um novo objeto do tipo Conta dentro do seu formulário.

É isso que está sendo feito no comando abaixo, ou seja, o Form1 instanciou um novo objeto do tipo Conta, para que possa manipular/consultar seus dados:

private Conta conta;

Esse objeto é do tipo private, ou seja, ele só vai ser visto dentro de Form1.

A sua classe Conta continua existindo, e continua sendo pública.

Era isso? Espero ter ajudado.

solução!

Entendi sua explicacao Agatha. Mas quando intanciamos um objeto deveria usar o new ou nao?

private Conta conta

Entendi sua explicacao Agatha. Mas quando intanciamos um objeto deveria usar o new ou nao? Mas nessa caso a classe Form1 está instanciando sem usar o new.

private Conta conta

Janile, boa tarde! No caso, ele está declarando que vai usar, a instância do objeto foi feita no curso dentro da classe, em um dos métodos. É que no exercício essa parte está oculta.

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