1
resposta

Resposta - Agendamento médico

class Consulta
{
    public string NomePaciente;
    public string NomeMedico;
    public DateTime DataConsulta;

    private bool foiReagendado;

    public Consulta(string nomePaciente, string nomeMedico, DateTime dataConsulta)
    {
        NomePaciente = nomePaciente;
        NomeMedico = nomeMedico;
        DataConsulta = dataConsulta;
        foiReagendado = false;

    }

    public void Reagendar(DateTime novaData)
    {
        foiReagendado = true;
        DataConsulta = novaData;
    }

    

    public void ExibirResumo()
    {
        
        if(foiReagendado)
        {
            Console.WriteLine($"\nConsulta marcada por {NomeMedico} para o paciente {NomePaciente}");
            Console.WriteLine($"Data: {DataConsulta}");
        }
        else
        {
            Console.WriteLine($"\nConsulta marcada por {NomeMedico} para o paciente {NomePaciente}");
            Console.WriteLine($"Data: {DataConsulta}");

        }

    }

}
#region Agendamento Medico
Consulta consulta = new Consulta("João Lima", "Dra. Renata", new DateTime(2025, 5, 20));
consulta.ExibirResumo();
consulta.Reagendar(new DateTime(2025, 5, 25));
consulta.ExibirResumo();
#endregion
1 resposta

Oi, Ulysses.

Obrigada por compartilhar.

Eu gostei muito da sua implementação da classe Consulta, o uso do método Reagendar e do atributo foiReagendado mostra uma boa compreensão de encapsulamento e estado do objeto.

Continue praticando dessa forma, isso ajuda a fixar bem os conceitos de orientação a objetos. Dica: você pode diferenciar a saída quando a consulta for reagendada, por exemplo, exibindo uma mensagem adicional como “Consulta reagendada”, ajustando o texto dentro do if para deixar o comportamento da classe mais claro.

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