namespace ByteBank.Funcionarios
{
public abstract class Funcionario
{
public static int TotalDeFuncionarios { get; private set; }
public string Nome { get; set; }
public string CPF { get; private set; }
public double Salario { get; protected set; }
// com protected o acesso pode ser feito pela classe base ou derivada e se mantem privado para acessos fora dessas classes.
public Funcionario(double salario, string cpf)
{
Console.WriteLine("Criando");
CPF = cpf;
Salario = salario;
TotalDeFuncionarios++;
}
public virtual void AumentarSalario()
{
//Salario = Salario * 1.1;
Salario *= 1.1;
}
public virtual double GetBonificacao()
{
return Salario * 0.10;
}
}
}
Quando rodo o código, como as outras classes tem a classe Funcionário como base, a mensagem "Criando" aparece para todas . Como faço para que cada classe apareça seu nome específico, sem precisar escrever Console.Writeline("Função x") em cada uma?