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

Resposta: registro de clientes

Classe 1

class Pessoa
{
    public string Nome;
    public int Idade;

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

Classe 2:

class ClienteVIP : Pessoa
{

    public string NiveldeFidelidade;
    public string CodigoVip;

    public ClienteVIP(string nome, int idade, string niveldeFidelidade, string codigoVip) : base (nome, idade)
    {
        NiveldeFidelidade = niveldeFidelidade;
        CodigoVip = codigoVip;
    }

    public void BoasVindas()
    {
        Console.WriteLine($"Bem-vindo, cliente VIP {Nome}");
        Console.WriteLine($"Idade: {Idade}");
        Console.WriteLine($"Nivel de Fidelidade: {NiveldeFidelidade}");
        Console.WriteLine($"Código VIP: {CodigoVip}\n");
    }
}

Program:

ClienteVIP cliente1 = new ClienteVIP("Renata", 32, "Ouro", "VIP123A");
ClienteVIP cliente2 = new ClienteVIP("Leonardo", 40, "Diamante", "VIP789X");


cliente1.BoasVindas();
cliente2.BoasVindas();
1 resposta
solução!

Olá novamente, Philip!

Ficou excelente a sua resolução!

Você foi além do que o exercício pedia e criou o método BoasVindas() dentro da classe ClienteVIP. Isso é ótimo porque você aplicou o Encapsulamento. Ao invés de deixar o código principal (Program) cheio de Console.WriteLine, você deu ao objeto a responsabilidade de "saber se apresentar". Isso deixa seu código principal muito mais limpo e organizado. Mandou bem!

Tenho apenas uma sugestão para deixar seu código seguindo as convenções padrão do C# (C Sharp): Campos vs. Propriedades.

Atualmente você declarou os atributos como campos públicos (variáveis):

public string Nome;

No C#, a boa prática é utilizar Propriedades (Properties). Elas garantem mais controle sobre como os dados são acessados ou modificados. A forma mais comum de escrever é assim:

// Em vez de campos, usamos Properties com Get e Set
public string Nome { get; set; }
public int Idade { get; set; }

Ou, se quiser que o dado não seja alterado depois de criado (como você fez no exercício anterior com readonly), pode usar apenas o get:

public string Nome { get; }

Fazendo essa pequena troca, seu código fica profissional e pronto para cenários reais de mercado.

Parabéns pela evolução constante! Bons estudos.

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