Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resposta: cadastro de funcionários

Classe 1:

public class Funcionario
{
    public string Nome;
    public string Cargo;

    public Funcionario(string nome, string cargo)
    {
        Nome = nome;
        Cargo = cargo;
    }
}

Classe 2:

public class FreeLancer : Funcionario
{
    public decimal ValorProjeto;

    public FreeLancer(string nome, string cargo, decimal valorProjeto) : base(nome, cargo)
    {
        ValorProjeto = valorProjeto;
    }

}

Classe 3:

public class Interno : Funcionario
{
    public decimal Salario;
    public Interno(string nome, string cargo, decimal salario) : base(nome, cargo)
    {
        Salario = salario;
    }
}

Program:

Interno f1 = new Interno("Luciana", "Desenvolvedora", 7000.00m);
FreeLancer f2 = new FreeLancer("Carlos", "Designer", 3500.00m);


Console.WriteLine($"Funcionária: {f1.Nome}, Cargo: {f1.Cargo}, salário: {f1.Salario}");
Console.WriteLine($"Funcionário: {f2.Nome}, Cargo: {f2.Cargo}, Projeto atual: {f2.ValorProjeto}");
1 resposta
solução!

Oii, Philip! Como vai?

Mais uma vez, parabéns pela resolução!

Você acertou em cheio na lógica de Herança. A forma como você utilizou o : base(nome, cargo) nos construtores das classes filhas (Interno e FreeLancer) está corretíssima. É exatamente assim que reaproveitamos o código da classe mãe Funcionario.

Tenho apenas dois pontos de refinamento para deixar seu código 100% profissional:

1. O padrão de Propriedades (reforço)
Lembra que comentamos sobre encapsulamento? Em C#, evitamos usar variáveis públicas soltas (chamadas de campos), como você fez em public string Nome;.
O padrão da é usar Propriedades. Mesmo que pareça apenas detalhe, isso faz diferença na segurança do código e no uso de bibliotecas do C#.

Tente transformar assim:

// Em vez de:
// public string Nome;

// Use:
public string Nome { get; set; }

Isso vale para o Cargo, Salario e ValorProjeto também.

2. Nomenclatura da Classe
Um detalhe visual: você nomeou a classe como FreeLancer (com o "L" maiúsculo). Embora não esteja errado e o código funcione, geralmente escrevemos Freelancer (tudo junto, apenas a primeira maiúscula), pois é considerado uma única palavra. Manter esse padrão ajuda se você for trabalhar em equipe no futuro.

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