Classe Program:
List<Reserva> reservas = new()
{
new ReservaPresencial("Trilha na Serra"),
new ReservaOnline("Workshop de Culinária Italiana")
};
foreach (var reserva in reservas)
{
reserva.Confirmar();
}
Clsse Reserva:
namespace Polimorfismo.ReservasDeExperiencias;
internal class Reserva(string titulo)
{
public string Titulo { get; set; } = titulo;
public virtual void Confirmar()
{
Console.WriteLine($"Confirmando reserva genérica: {Titulo}");
}
}
Classe ReservaPresencial:
namespace Polimorfismo.ReservasDeExperiencias;
internal class ReservaPresencial(string titulo) : Reserva(titulo)
{
public override void Confirmar()
{
Console.WriteLine($"Confirmando reserva presencial: {Titulo}");
Console.WriteLine("Ponto de encontro: Praça Central, às 8h");
}
}
Classe ReservaOnline:
namespace Polimorfismo.ReservasDeExperiencias;
internal class ReservaOnline(string titulo) : Reserva(titulo)
{
public override void Confirmar()
{
Console.WriteLine($"Confirmando reserva online: {Titulo}");
Console.WriteLine("Link de acesso enviado por e-mail!");
}
}