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