1
resposta

[Projeto] Faça como eu fiz: dados de passageiros

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

    public string Nome { get; private set; }
    
    public int Idade { get; private set; }
}

class Passageiro : Pessoa
{
    public Passageiro(string nome, int idade, int quantidadeBilhetes) : base(nome, idade)
    {
        QuantidadeBilhetes = quantidadeBilhetes;
    }

    public int QuantidadeBilhetes { get; private set; }

    public void ExibirDados()  
    {  
        Console.WriteLine($"Passageiro: {Nome} - Idade: {Idade} - Bilhetes: {QuantidadeBilhetes}");  
    }  
}

Passageiro p1 = new Passageiro("Lúcia", 45, 3);  
Passageiro p2 = new Passageiro("Rodrigo", 30, 1);  
 
p1.ExibirDados();  
p2.ExibirDados(); 
1 resposta

Olá, Eduardo! Tudo bem?

Excelente trabalho em mais uma etapa do curso! Você aplicou com maestria os fundamentos de herança e encapsulamento, consolidando o aprendizado sobre como reaproveitar código de maneira inteligente em C#.

Seu código está muito bem escrito e segue padrões profissionais de desenvolvimento:

  • Reuso com Propósito: Ao herdar de Pessoa, a classe Passageiro ganha automaticamente as características básicas de um ser humano (Nome e Idade), permitindo que você foque apenas na regra de negócio específica da classe: a QuantidadeBilhetes.
  • **Construtores e a Palavra-chave base**: Você utilizou corretamente o repasse de parâmetros para o construtor da classe pai. Isso é essencial para garantir que o objeto seja instanciado com todos os seus dados fundamentais preenchidos corretamente.
  • Segurança de Dados: O uso de private set nas propriedades mostra que você já internalizou a importância do encapsulamento, impedindo que dados sensíveis como o nome ou idade sejam alterados de fora da classe sem passar por uma lógica de validação.

Sugestão para Evolução

Como você está explorando a Orientação a Objetos, um desafio interessante seria criar uma nova classe chamada Tripulante, que também herde de Pessoa, mas que possua uma propriedade como string NumeroRegistro. Isso ajudaria a visualizar como diferentes tipos de "Pessoas" podem coexistir no mesmo sistema com comportamentos distintos.

Parabéns pela dedicação constante e pelo alto nível de XP na plataforma!

Espero que possa ter lhe ajudado!