1
resposta

Faça como eu fiz: usando o base

class funcionario.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;

namespace bytebank_ADM.Funcionarios
{
    public class Funcionario
    {
        public string Nome { get; set; }
        public string Cpf { get; set; }
        public double Salario { get; set; }

        public virtual double GetBonificacao()
        {
           return this.Salario * 0.10;
        }

        public virtual double GetPremiacaoSemestral()
        {
            return this.Salario * 0.20;
        }
    }
}

classe diretor.cs

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

namespace bytebank_ADM.Funcionarios
{
    public class Diretor: Funcionario
    {

        public override double GetBonificacao()
        {
            return this.Salario + base.GetBonificacao();
        }

        public override double GetPremiacaoSemestral()
        {
            return base.GetPremiacaoSemestral();
        }
    }
}

class gerenciadorDEBonificaçao.cs

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

namespace bytebank_ADM.Utilitario
{
    public class GerenciadorDeBonificacao
    {
        public double TotalDeBonificacao { get; private set; }

        public void Registrar(Funcionario funcionario)
        {
            this.TotalDeBonificacao += funcionario.GetBonificacao();
            this.TotalDeBonificacao += funcionario.GetPremiacaoSemestral();
        }


    }

}

program.cs

using bytebank_ADM.Funcionarios;
using bytebank_ADM.Utilitario;

Funcionario pedro = new Funcionario();
pedro.Nome = "Pedro Pedrone";
pedro.Cpf = "32165498701";
pedro.Salario = 2000;

Console.WriteLine("Nome: " + pedro.Nome);
Console.WriteLine("Bonificacao " + pedro.GetBonificacao());
Console.WriteLine("A Premiaçao Semetral é " + pedro.GetPremiacaoSemestral());

Diretor roberta = new Diretor();
roberta.Nome = "Roberta Silva";
roberta.Cpf = "1234567890x";
roberta.Salario = 5000;
Console.WriteLine("Nome: " + roberta.Nome);
Console.WriteLine("Bonificação: " + roberta.GetBonificacao());
Console.WriteLine("Premiacao Semetral  é " + roberta.GetPremiacaoSemestral());

GerenciadorDeBonificacao gerenciador = new GerenciadorDeBonificacao();
gerenciador.Registrar(pedro);
gerenciador.Registrar(roberta);

Console.WriteLine("Total de bonificações: " + gerenciador.TotalDeBonificacao);



Console.WriteLine();
Console.WriteLine("Pressione enter para Sair ");
Console.ReadLine();
1 resposta

Bom dia Vagner, tudo bom?

Top d+ sua implementação, continue praticando e realizando as atividades propostas.

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!