1
resposta

[Projeto] Faça como eu fiz: execução de tarefas agendadas

abstract class TarefasAgendada
{
    public abstract void Executar();
}

class BackupTarefa : TarefasAgendada
{
    public override void Executar()
    {
        Console.WriteLine("Executando tarefa de backup do sistema...");
    }
}

class RelatorioTarefa : TarefasAgendada
{
    public override void Executar()
    {
        Console.WriteLine("Gerando e enviando relatório diário...");
    }
}

class LimpezaTarefa : TarefasAgendada
{
    public override void Executar()
    {
        Console.WriteLine("Limpando arquivos temporários do servidor...");
    }
}

List<TarefasAgendada> tarefas = new List<TarefasAgendada>
{
    new BackupTarefa(),
    new RelatorioTarefa(),
    new LimpezaTarefa()
};

foreach (var tarefa in tarefas)
{
    tarefa.Executar();
}
1 resposta

Oi, Eduardo! Como vai?

Agradeço por compartilhar

Gostei da forma como você aplicou o polimorfismo usando a classe abstrata TarefasAgendada e sobrescrevendo o método Executar() em cada tipo de tarefa. A lista com diferentes objetos sendo percorrida no foreach mostra bem como o C# consegue tratar classes diferentes por meio do mesmo tipo base.

Continue firme nos estudos.

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