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();
}