1
resposta

[Projeto] Desafio: hora da prática - Modelar um Pet Shop com classes como Pet, Dono, Consulta e médico.

namespace PetShop;

internal class Pet
{
    public string Nome { get; set; }
    public string Tipo { get; set; }

    public int MyProperty { get; set; }
}

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

    public List<Pet> Pets { get; }
    public string Nome { get; set; }

    public int Idade { get; set; }

    public void AdicionarPet(Pet pet)
    {
        Pets.Add(pet);
    }
}

internal class Medico
{
    public Medico(string nome, string documento)
    {
        Nome = nome;
        Documento = documento;
    }

    public string Nome { get; set; }
    public string Documento { get; set; }
}

internal class Consulta
{
    public Consulta(int consultaId, Medico responsavel, Pet pet, DateTime dataConsulta)
    {
        ConsultaId = consultaId;
        Responsavel = responsavel;
        Pet = pet;
        DataConsulta = dataConsulta;
    }

    public int ConsultaId { get; private set; }
    public Medico Responsavel { get; private set; }
    public Pet Pet { get; private set; }
    public DateTime DataConsulta { get; private set; }
}
1 resposta

Oi, Eduardo! Como vai?

Sua modelagem ficou bem organizada ao separar as responsabilidades entre Pet, Dono, Medico e Consulta. Um ponto de atenção está na lista Pets: como ela não foi inicializada no construtor de Dono, ao chamar Pets.Add(pet), o código pode gerar erro. Uma dica interessante para o futuro é inicializar listas no construtor ou direto na propriedade, assim:


public List<Pet> Pets { get; } = new List<Pet>();

public void AdicionarPet(Pet pet)
{
    Pets.Add(pet);
}

Esse código cria a lista de pets antes de usar o método AdicionarPet, evitando erro ao tentar adicionar um item em uma lista nula. Também vale revisar a propriedade MyProperty em Pet, pois ela parece ter ficado como exemplo automático do Visual Studio e pode ser removida ou renomeada conforme a necessidade do projeto.

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