Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Estou com dúvida no curso de C# e Orientação a Objetos, no exercício do capítulo Mão na Massa - Windows Forms.

nesta parte da explicação:

Qualquer código colocado dentro do Form1_Load será executado na inicialização do formulário. Queremos que esse método coloque o titular de uma conta no campo textoTitular:

private void Form1_Load(object sender, EventArgs e) { Conta c = new Conta(); c.Titular = "Victor Harada"; textoTitular.Text = c.Titular; }

eu fazendo da o seguinte erro:

private void Form1_Load(object sender, EventArgs e) { Conta c = new Conta(); c.Titular = "arley"; (aqui fica sublinhado) textoTitular.Text = c.Titular; (aqui também) } se eu fizer:

private void Form1_Load(object sender, EventArgs e) { Conta c = new Conta(); c.Titularnome. = "arley"; (some este erro) textoTitular.Text = c.Titular; (aqui aqui continua) }

tenho que da new na classe cliente? ou o que devo fazer?

Minhas classes estão:

class Cliente { public string Nome; public string cpf; public string Rg; public string endereco; public Cliente cliente;

public Cliente(String nome) { this.Nome = nome; }


class Conta { public int Numero { get; set; } public double Saldo { get; private set; } public Cliente Titular { get; set; } public int Tipo { get; set; }

public void Saca (double valor) { if (this.Tipo == 1) { this.Saldo -= valor; } else if (this.Tipo == 2) { this.Saldo -= valor = 1.0; }

}

public void Deposita(double valor) { this.Saldo += valor; }

}

1 resposta
solução!

Arley,

Nesse caso você precisa instanciar o objeto Cliente, pois na sua classe Conta o atributo Titular é um tipo Cliente.

Conta c = new Conta();

Você pode usar o construtor padrão e adicionar o nome depois

c.Titular = new Cliente();

c.Titular.Nome = "arley";

Ou você pode já utilizar o construtor da classe Cliente para atribuir o valor nome ao cliente através do construtor da classe que possui parametros.

c.Titular = new Cliente("arley");

Para atribuir o valor do TextBox voçê pega o valor do Atributo. textoTitular.Text = c.Titular.Nome.ToString();

Verifica se esses códigos resolvem seu problema. Qualquer dúvida só postar!

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