Classe Program:
List<TarefaAgendada> tarefas = new()
{
new BackupTarefa(),
new RelatorioTarefa(),
new LimpezaTarefa()
};
foreach (var tarefa in tarefas)
{
tarefa.Executar();
}
Classe Abstrata TarefaAgendada:
namespace Polimorfismo.ExecucaoDeTarefasAgendadas;
internal abstract class TarefaAgendada
{
public abstract void Executar();
}
Classe BackupTarefa:
namespace Polimorfismo.ExecucaoDeTarefasAgendadas;
internal class BackupTarefa : TarefaAgendada
{
public override void Executar()
{
Console.WriteLine("Executando tarefa de backup do sistema...");
}
}
Classe RelatorioTarefa:
namespace Polimorfismo.ExecucaoDeTarefasAgendadas;
internal class RelatorioTarefa : TarefaAgendada
{
public override void Executar()
{
Console.WriteLine("Gerando e enviando relatório diário...");
}
}
Classe LimpezaTarefa:
namespace Polimorfismo.ExecucaoDeTarefasAgendadas
{
internal class LimpezaTarefa : TarefaAgendada
{
public override void Executar()
{
Console.WriteLine("Limpando arquivos temporários do servidor...");
}
}
}