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

Faça como eu fiz: registro de clientes

Pessoa.cs

namespace Clube.Modelos;
internal class Pessoa {
    public string? Nome {get;}
    public int Idade {get;}

    public Pessoa(string? nome, int idade) {
        Nome = nome;
        Idade = idade;
    }
}

ClienteVip.cs

namespace Clube.Modelos;
internal class ClienteVip : Pessoa {

    public string? NivelFidelidade {get;}
    public string? CodigoVip {get;}

    public ClienteVip(string? nome, int idade, string? nivelFidelidade, string? codigoVip) : base (nome, idade) {
        NivelFidelidade = nivelFidelidade;
        CodigoVip = codigoVip;
    }
}

Program.cs

using Clube.Modelos;
ClienteVip cliente1 = new ClienteVip("Homer", 51, "Ouro", "VIPHLX");  
ClienteVip cliente2 = new ClienteVip("Cynthia", 30, "PRATA", "VIPGDF");  

Console.Clear();
Console.WriteLine($"Seja bem vindo, cliente VIP {cliente1.Nome}");
Console.WriteLine($"Idade: {cliente1.Idade}");
Console.WriteLine($"Nível de fidelidade: {cliente1.NivelFidelidade}");
Console.WriteLine($"Código VIP: {cliente1.CodigoVip}\n");

Console.WriteLine($"Seja bem vindo, cliente VIP {cliente2.Nome}");
Console.WriteLine($"Idade: {cliente2.Idade}");
Console.WriteLine($"Nível de fidelidade: {cliente2.NivelFidelidade}");
Console.WriteLine($"Código VIP: {cliente2.CodigoVip}\n");
1 resposta
solução!

Oi, Diego! Como vai?

Agradeço por compartilhar.

Gostei da forma como você aplicou a herança entre Pessoa e ClienteVip, mantendo a classe base com os dados gerais e deixando na classe filha as informações específicas do cliente VIP. Isso mostra uma boa organização da estrutura e um uso claro do construtor com base, o que ajuda bastante na reutilização do código.

Uma dica interessante para o futuro é criar um método para exibir os dados do cliente, evitando repetir varios Console.WriteLine no Program.


public void ExibirDados()
{
    Console.WriteLine($"Nome: {Nome}");
    Console.WriteLine($"Idade: {Idade}");
    Console.WriteLine($"Nivel de fidelidade: {NivelFidelidade}");
    Console.WriteLine($"Codigo VIP: {CodigoVip}");
}

Esse código cria um método que centraliza a exibição das informações, deixando o codigo mais limpo e mais fácil de manter.

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