1
resposta

Faça como eu fiz: registro de clientes

namespace PooHeranca.RegistroClientes
{
public class Pessoa
{
    public string Nome { get; }
    public int Idade { get; }

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




namespace PooHeranca.RegistroClientes
{
public class ClienteVIP : Pessoa
{
    public string NivelFidelidade { get; }
    public string CodigoVip { get; }

    public ClienteVIP(string nome, int idade, string nivelFidelidade, string codigoVip)
        : base(nome, idade)
    {
        this.NivelFidelidade = nivelFidelidade;
        this.CodigoVip = codigoVip;
    }
    public void ExibirClienteVip()
    {
        Console.WriteLine($"Bem-vindo, cliente VIP: {Nome}");
        Console.WriteLine($"Idade: {Idade}");
        Console.WriteLine($"Nivel de fidelidade: {NivelFidelidade}");
        Console.WriteLine($"Codigo VIP: {CodigoVip}\n");
    }
}
}
1 resposta

Oi, Jonas! Como vai?

Agradeço por compartilhar.

Gostei de como você aplicou herança usando : base(nome, idade) e organizou bem as propriedades somente leitura. O método ExibirClienteVip() ficou claro e demonstra bem o uso dos dados herdados e específicos do cliente VIP.

Uma dica interessante para o futuro é usar override para personalizar comportamentos herdados.


public class Pessoa
{
    public virtual void Exibir()
    {
        Console.WriteLine("Pessoa comum");
    }
}

public class ClienteVIP : Pessoa
{
    public override void Exibir()
    {
        Console.WriteLine("Cliente VIP");
    }
}

Esse código permite alterar o comportamento do método na classe filha, tornando seu sistema mais flexível.

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