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

Diferença na criação de variáveis

Não ficou claro pra mim na criação das variáveis, por exemplo. Com a classe Cliente, criamos gabriela da seguinte forma, Pessoa p = new Pessoa(). Depois quando criamos outra variável para endereço, utilizamos apenas p.enderco = new Endereco(). Por que não usamos também Endereco p.endereço = new Endereco()?

2 respostas
solução!

Ex:

public class Pessoa
{
   public string nome;
   public string profissao;
   public Endereco endereco;
}

public class Endereco
{
    public string numero;
    public string cidade;
}

Quando voce cria uma pessoa vc faz Pessoa p = new Pessoa() porque vc precisa especificar o tipo, se fizer só p = new Pessoa() vai dar erro. Já quando vc cria o endereço vc só faz p.endereco = new Endereco() porque p é uma pessoa que possui o campo endereço do Tipo Endereco(veja o exemplo da classe), por isso vc não precisa especificar o tipo novamente.

Assim ficaria:

 Pessoa p = new pessoa();
 p.nome = "Maria";
 p.profissao = "Desenvolvedora";
 p.endereco = new Endereco(); // ai vc preenche o endereço com os valores da classe endereço
 p.endereco.numero = 123;
 p.endereco.cidade = "Belo Horizonte"

Ou voce pode fazer assim: criando primeiro o e depois atribuindo a Pessoa

 Pessoa p = new pessoa();
 p.nome = "Maria";
 p.profissao = "Desenvolvedora";

 Endereco endereco = new Endereco();
 endereco.numero = 123;
 endereco.cidade = "Belo Horizonte"

 p.endereco = endereco;

Muito obrigado pela ajuda! Entendi