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

duvida no final do exercicio mao na massa

Boa noite, nao entendi uma parte do código, oque ele esta fazendo, eu consegui arrumar, porem nao consegui entender

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

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



        public  Funcionario(string cpf)
        {
            TotalDeFuncionarios++;
            Cpf = cpf;
            Console.WriteLine("Construtor Funcionario");
        }
        public abstract double GetBonificacao();aqui

        public abstract void AumentaSalario();aqui

        public int TotalDeFuncionarios { get; private set; }
    }
}
2 respostas
solução!

Olá Isac!

Membros abstratos não possuem implementação. Porém, todas as classes filhas devem ter uma implementação própria destas funções. Caso a classe Estagiario estender a classe Funcionario, então, Estagiario é obrigado a implementar os métodos GetBonificacao() e AumentaSalario().

Essa necessidade ocorre porque a classe Funcionario não será instanciada, mas é uma forma de padronizar as classes que dependem dela. Então, cada classe filha de Funcionario é obrigada a ter suas próprias regras do GetBonificacao() e do AumentaSalario().

Segue o link para a documentação onde o conceito de abstract é abordado.

Espero ter ajudado!

Bom dia Fabiano, tudo bem?

Muito obrigado pela explicação, boa semana!!1