Atividade 1, gerei uma imagem com minha modelagem para facilitar o processo mas não está no padrão de um diagrama de classes, é apenas representativo.
![[Pasted image 20260312100615.png]]
Program.cs
using PetShop.Modelos;
void LimpaTela() {
Console.ReadKey();
Console.Clear();
}
// Instanciando Objetos:
var cachorro01 = new Pet (1, "Thomas", "Maltês");
var medico01 = new Medico (1, "Romário", 15000m);
var consulta01 = new Consulta(1, medico01, cachorro01, new DateTime(2023,12,15));
Console.Clear();
Console.WriteLine("Apresentando Dono: ");
Console.WriteLine($"{Dono.Descricao}");
LimpaTela();
Console.WriteLine("Apresentando Cachorro: ");
cachorro01.ExibeDetalhes();
LimpaTela();
Console.WriteLine("Apresentando Médico: ");
medico01.ExibeDetalhes();
LimpaTela();
Console.WriteLine("Apresentando Consulta: ");
consulta01.ExibeDetalhes();
LimpaTela();
Dono.cs
namespace PetShop.Modelos;
internal class Dono {
public static string? Nome = "Carlos";
public static string? Descricao => $"{Nome} é proprietário do Pet Shop, atuando na área de cuidados e bem-estar animal.";
}
Pet.cs
namespace PetShop.Modelos;
internal class Pet {
private List<Consulta> listaConsultas = new();
public int Id {get;}
public string? Nome {get;}
public string? Raca {get;}
public override string ToString() {
return $"{Nome}";
}
public Pet(int id, string? nome, string? raca) {
Id = id;
Nome = nome;
Raca = raca;
}
public void ExibeDetalhes() {
Console.WriteLine($"ID: {Id}");
Console.WriteLine($"Nome: {Nome}");
Console.WriteLine($"Raça: {Raca}");
Console.WriteLine("Lista de Consultas: ");
listaConsultas.ForEach(consulta => Console.WriteLine($"- {consulta}"));
}
public void AdicionarConsulta(Consulta consulta) {
listaConsultas.Add(consulta);
}
}
Medico.cs
namespace PetShop.Modelos;
internal class Medico {
private List<Consulta> listaConsultas = new();
public int Id {get;}
public string? Nome {get;}
public decimal Salario {get;}
public override string ToString() {
return $"{Nome}";
}
public Medico(int id, string? nome, decimal salario) {
Id = id;
Nome = nome;
Salario = salario;
}
public void AdicionarConsulta(Consulta consulta) {
listaConsultas.Add(consulta);
}
public void ExibeDetalhes() {
Console.WriteLine($"ID: {Id}");
Console.WriteLine($"Nome: {Nome}");
Console.WriteLine($"Salário: R${Salario}");
Console.WriteLine("Lista de Consultas: ");
listaConsultas.ForEach(consulta => Console.WriteLine($"- {consulta}"));
}
}
Consulta.cs
namespace PetShop.Modelos;
internal class Consulta {
public int Id {get;set;}
public Medico? MedicoAtendente {get;}
public Pet? PetAtendido {get;}
public DateTime DataConsulta {get;}
public override string ToString() {
return $"{DataConsulta.ToString("dd/MM/yyyy")}";
}
public Consulta(int id, Medico? medicoAtendente, Pet? petAtendido, DateTime dataConsulta) {
Id = id;
MedicoAtendente = medicoAtendente;
PetAtendido = petAtendido;
DataConsulta = dataConsulta;
medicoAtendente!.AdicionarConsulta(this);
petAtendido!.AdicionarConsulta(this);
}
public void ExibeDetalhes() {
Console.WriteLine($"Médico: {MedicoAtendente}");
Console.WriteLine($"Pet: {PetAtendido}");
Console.WriteLine($"Data da Consulta: {DataConsulta.ToString("dd/MM/yyyy")}");
}
}