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
}
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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
}
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.
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.