1
resposta

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

TarefaAgendada.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Alura_exercicios_poo
{
    public abstract class TarefaAgendada
    {
        public abstract void Executar();
    }
}

RelatorioTarefa.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Alura_exercicios_poo
{
    internal class RelatorioTarefa : TarefaAgendada
    {
        public override void Executar()
        {
            Console.WriteLine("Gerando relatório mensal...");
        }
    }
}

LimpezaTarefa.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Alura_exercicios_poo
{
    internal class LimpezaTarefa : TarefaAgendada
    {
        public override void Executar()
        {
            Console.WriteLine("Limpando arquivos temporários...");
        }
    }
}

BackupTarefa.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Alura_exercicios_poo
{
    internal class BackupTarefa : TarefaAgendada
    {
        public override void Executar()
        {
            Console.WriteLine("Executando backup de dados...");
        }
    }
}
1 resposta

Oi, horizon! Como vai?

Você estruturou muito bem o uso do polimorfismo, criando uma base abstrata clara com TarefaAgendada e implementações específicas como RelatorioTarefa, LimpezaTarefa e BackupTarefa. Isso mostra um bom domínio da orientação a objetos.

Uma dica interessante para o futuro é usar uma lista para agendar e executar várias tarefas dinamicamente.


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

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

Esse código cria uma lista com diferentes tarefas e as executa em sequência, usando o mesmo método Executar por meio do polimorfismo.

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