Importante

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!

1
resposta

[Projeto] Desafio: hora da prática

  1. Criar um construtor para a classe Titular, que inicialize todas suas propriedades:
class Titular
{
    public Titular(string nome, string cpf, Endereco endereco)
    {
        Nome = nome;
        Cpf = cpf;
        Endereco = endereco;
    }

    public string Nome { get;}
    public string Cpf { get;}
    public Endereco Endereco { get;}
}

achei interessante criar a classe endereço:

class Endereco
{
    public Endereco(string bairro, string rua, int numero)
    {
        Bairro = bairro;
        Rua = rua;
        Numero = numero;
    }

    public string Bairro { get; }
    public string Rua { get; }
    public int Numero { get; }
}
  1. Criar um construtor para a classe Conta, que inicialize todas suas propriedades:
class Conta
{
    public Conta(Titular titular, int agencia, int numeroDaConta, decimal saldo, decimal limite)
    {
        Titular = titular;
        Agencia = agencia;
        NumeroDaConta = numeroDaConta;
        Saldo = saldo;
        Limite = limite;
    }

    public Titular Titular { get; }

    public int Agencia { get; }

    public int NumeroDaConta { get; }

    public decimal Saldo { get; }

    public decimal Limite { get; }

    public void InformacoesDaConta ()
    {
        Console.WriteLine($"Titular da Conta: {Titular.Nome}");
        Console.WriteLine($"Agência: {Agencia}");
        Console.WriteLine($"Número da Conta: {NumeroDaConta}");
        Console.WriteLine($"Saldo: {Saldo}");
        Console.WriteLine($"Limite: {Limite}");
    }
}
  1. Instanciar uma Conta e exibir suas informações na tela, utilizando construtores:
Endereco endereco1 = new Endereco("Marco Polo", "Flores do sertão", 510);
Titular novoCliente = new Titular("José Marcos", "060.545.789-25", endereco1);
Conta novaConta = new Conta(novoCliente, 030, 123456, 0, 100);
novaConta.InformacoesDaConta();
1 resposta

Oi, José! Como vai?

A forma como você estruturou as classes ficou ótima, e utilizando construtores para inicializar todas as propriedades. A criação da classe Endereco foi uma ótima escolha, pois demonstra a aplicação do conceito de composição em Orientação a Objetos, deixando o código mais organizado e próximo de uma situação real. Também ficou interessante o uso de propriedades somente leitura com get;, reforçando a imutabilidade dos dados após a criação dos objetos.

Uma dica interessante para o futuro é utilizar o método ToString() para exibir informações dos objetos de forma mais prática. Veja este exemplo:


public override string ToString()
{
    return $"{Nome} - {Cpf}";
}

Esse código permite exibir os dados do objeto diretamente, sem precisar acessar cada propriedade individualmente em diferentes pontos do sistema.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!