1
resposta

[Resolução] Faça como eu fiz: relatório de funcionários

Como nas duas classes filhas parece seguir um modelo, (cargo e responsabilidade) adicionei duas propriedades e as usei no método padrão.
Nesse formato nem seria necessário sobrescrever os métodos nas classes filhas, pois a saída esperada no exercício seria exatamente a mesma.
Mas como esse módulo do curso serve justamente para fortalecer o entendimento sobre polimorfismo, adicionei a sobrescrita na classe Gerente chamando a implementação base e de fato realizei a sobrescrita na classe Desenvolvedor.
Funcionario.cs

internal abstract class Funcionario(string cargo, string descricaoCargo)
{
    public string Cargo { get; private set; } = cargo;
    public string DescricaoCargo { get; private set; } = descricaoCargo;

    public virtual string GerarRelatorio()
    {
        return $"Relatório do {Cargo}: {DescricaoCargo}.";
    } 
}

Gerente.cs

internal class Gerente(string cargo, string descricaoCargo)
    : Funcionario(cargo, descricaoCargo)
{
    public override string GerarRelatorio()
    {
        return base.GerarRelatorio();
    }
}

Desenvolvedor.cs

internal class Desenvolvedor(string cargo, string descricaoCargo)
    : Funcionario(cargo, descricaoCargo)
{
    public override string GerarRelatorio()
    {
        return $"Relatório do {Cargo}: {DescricaoCargo} - Com possíbilidade de bonus por entregas antes do prazo.";
    }
}

Program.cs

Funcionario f1 = new Gerente("gerente", "supervisiona a equipe");
Funcionario f2 = new Desenvolvedor("desenvolvedor", "escreve código e corrige bugs");

Console.WriteLine(f1.GerarRelatorio());
Console.WriteLine(f2.GerarRelatorio());
1 resposta

Olá, Gerson, como vai?

Sua solução está coerente com a proposta do exercício e demonstra que você compreendeu bem o uso de herança, construtores com parâmetros e polimorfismo. A classe base abstrata com método virtual atende ao objetivo, e o uso de override nas classes filhas garante o comportamento polimórfico ao acessar os objetos via referência do tipo Funcionario.

Parabéns pela implementação e pela reflexão. Continue compartilhando suas soluções, o fórum está à disposição para discutir e aprofundar cada vez mais esses conceitos.

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