1
resposta

[Projeto] Resolução

// no arquivo Cliente.cs

   public class Cliente
{
    private string nome;
    public string Nome
    {
        get { return this.nome; }
        set {
            if (value.Length == 0) 
            {
                return;
            }
            else
            {
                this.nome = value;
            }
        }

    }

    private string cpf;
    public string Cpf 
    {
        get { return this.cpf; }
        set
        {
            if(value.Length == 0)
            {
                return;
            }
            else
            {
                this.cpf = value;
            }
        }
    }


    private string telefone;

    public string Telefone
    {
        get { return this.telefone; }
        set
        {
            if (value.Length == 0)
            {
                return;
            }
            else
            {
                this.telefone = value;
            }
        }
    }

    private string email;

    public string Email 
    {
        get { return this.email; }
        set
        {
            if(value.Contains("@"))
            {
                this.email = value;
            }
            else
            {
                return;
            }
        }
    }


    public Endereco endereco;
    public Pedido pedido;

// ------------------------------------------------------- // no arquivo Endereco.cs

    public class Endereco
{
    public string rua;
    public string cep;
    public string bairro;
    public string cidade;
    public string estado;

}

// ------------------------------------------------------- // no arquivo Pedido.cs

 public class Pedido
{
    public string item;
    public int qtdItens;
    public double valorUnitario;


    public double CalcularValorTotal(int qtdItens,  double valorUnitario)
    {
        double calcule = this.qtdItens * this.valorUnitario;
        return calcule;
    }
}

// ------------------------------------------------------- // no arquivo Program.cs

Cliente cliente1 = new Cliente();
cliente1.endereco = new Endereco();
cliente1.pedido = new Pedido();

cliente1.Nome = "Camila";
cliente1.Cpf = "123.456.789-0";
cliente1.Telefone = "13 9925-1230";
cliente1.Email = "cami@lilili";

Console.WriteLine(cliente1.Email);

cliente1.pedido.qtdItens = 6;
cliente1.pedido.valorUnitario = 15;
double valorTotal = cliente1.pedido.CalcularValorTotal(cliente1.pedido.qtdItens, cliente1.pedido.valorUnitario);


cliente1.endereco.rua = "Rua Allili";
cliente1.endereco.cep = "0788-00";
cliente1.endereco.bairro = "Jd. das Graças";
cliente1.endereco.cidade = "Cotia";
cliente1.endereco.estado = "Pernambuco";


Console.WriteLine("Nome: " + cliente1.Nome);
Console.WriteLine("CPF: " + cliente1.Cpf);
Console.WriteLine();

Console.WriteLine("O Valor Total do seu pedido é R$ " + valorTotal);
Console.WriteLine();
Console.WriteLine("Este é o endereço de entregra: ");
Console.WriteLine("Rua: " + cliente1.endereco.rua);
Console.WriteLine("Cep: " + cliente1.endereco.cep);
Console.WriteLine("Bairro: " + cliente1.endereco.bairro);
Console.WriteLine("Cidade: " + cliente1.endereco.cidade);
Console.WriteLine("Estado: " + cliente1.endereco.estado);
1 resposta

Olá, Camila! Tudo bem

A composição consiste em criar uma relação entre as classes Cliente, Endereco e Pedido. Nesse caso, a classe Cliente possui uma instância da classe Endereco e uma instância da classe Pedido.

Isso significa que, ao criar um objeto da classe Cliente, você também terá acesso aos objetos da classe Endereco e Pedido associados a esse cliente.

No exemplo que você compartilhou, a classe Cliente possui as propriedades nome, cpf, telefone e email, além de uma instância da classe Endereco e uma instância da classe Pedido. A classe Endereco possui as propriedades rua, cep, bairro, cidade e estado. Já a classe Pedido possui as propriedades item, qtdItens e valorUnitario, além de um método CalcularValorTotal para calcular o valor total do pedido.

Para utilizar essa composição, você pode criar um objeto da classe Cliente e, em seguida, atribuir valores às propriedades desse objeto, assim como você fez no exemplo. Por exemplo:

Cliente cliente1 = new Cliente();
cliente1.endereco = new Endereco();
cliente1.pedido = new Pedido();

cliente1.Nome = "Camila";
cliente1.Cpf = "123.456.789-0";
cliente1.Telefone = "13 9925-1230";
cliente1.Email = "cami@lilili";

cliente1.pedido.qtdItens = 6;
cliente1.pedido.valorUnitario = 15;
double valorTotal = cliente1.pedido.CalcularValorTotal(cliente1.pedido.qtdItens, cliente1.pedido.valorUnitario);

cliente1.endereco.rua = "Rua Allili";
cliente1.endereco.cep = "0788-00";
cliente1.endereco.bairro = "Jd. das Graças";
cliente1.endereco.cidade = "Cotia";
cliente1.endereco.estado = "Pernambuco";

Console.WriteLine("Nome: " + cliente1.Nome);
Console.WriteLine("CPF: " + cliente1.Cpf);
Console.WriteLine();

Console.WriteLine("O Valor Total do seu pedido é R$ " + valorTotal);
Console.WriteLine();
Console.WriteLine("Este é o endereço de entrega: ");
Console.WriteLine("Rua: " + cliente1.endereco.rua);
Console.WriteLine("Cep: " + cliente1.endereco.cep);
Console.WriteLine("Bairro: " + cliente1.endereco.bairro);
Console.WriteLine("Cidade: " + cliente1.endereco.cidade);
Console.WriteLine("Estado: " + cliente1.endereco.estado);

Dessa forma, você está utilizando a composição entre as classes Cliente, Endereco e Pedido para criar um sistema de pedidos online.

Espero ter ajudado e bons estudos!

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