Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resposta - Execução de Tarefas Agendadas

Classe ScheduledTask:

namespace exercise91.Models;

internal abstract class ScheduledTask
{
    public abstract void Execute();
}

Classe TaskBackup:

namespace exercise91.Models;

internal class TaskBackup : ScheduledTask
{
    public override void Execute()
    {
        Console.WriteLine("Performing system backup task...");
    }
}

Classe TaskCleaning:

namespace exercise91.Models;

internal class TaskCleaning : ScheduledTask
{
    public override void Execute()
    {
        Console.WriteLine("Cleaning up temporary server files...");
    }
}

Classe TaskReport:

namespace exercise91.Models;

internal class TaskReport : ScheduledTask
{
    public override void Execute()
    {
        Console.WriteLine("Generating and sending daily reports...");
    }
}

Instâncias:

using exercise91.Models;

List<ScheduledTask> tasks = new List<ScheduledTask>
{
    new TaskBackup(),
    new TaskReport(),
    new TaskCleaning()
};

foreach (ScheduledTask task in tasks)
{
    task.Execute();
}
2 respostas
solução!

Olá, Carlos!

Excelente implementação!

Seu código está muito limpo e demonstra um domínio sólido do polimorfismo . A estrutura que você criou, iterando sobre a classe base abstrata ScheduledTask, é um exemplo prático perfeito de como desacoplar a execução da implementação concreta.

Conte sempre com o fórum.

Bons estudos!

Sucesso

Imagem da comunidade

Obrigado pelo suporte, Victor.