Interface:
interface IServicos
{
public void ExecutarServico();
}
Classe 1:
class Funcionario
{
public Funcionario(string nome, string departamento)
{
Nome = nome;
Departamento = departamento;
}
public string Nome { get; set; }
public string Departamento { get; set; }
}
Classe 2:
class Manutencao : IServicos
{
public string TipoDeServiço { get; }
public Manutencao(string tipoDeServiço, Funcionario funcionario)
{
TipoDeServiço = tipoDeServiço;
this.funcionario = funcionario;
}
public Funcionario funcionario { get; private set; }
public void ExecutarServico()
{
funcionario = new Funcionario(funcionario.Nome, funcionario.Departamento);
Console.WriteLine($"Executando serviço de manutenção: {funcionario.Departamento}");
Console.WriteLine($"Responsavel: {funcionario.Nome}");
}
}
Classe 3:
class Consultoria : IServicos
{
public Funcionario funcionario { get; private set; }
public string TipoDeServiço { get; }
public Consultoria(string tipoDeServiço, Funcionario funcionario)
{
TipoDeServiço = tipoDeServiço;
this.funcionario = funcionario;
}
public void ExecutarServico()
{
funcionario = new Funcionario(funcionario.Nome, funcionario.Departamento);
Console.WriteLine($"Executando serviço de consultoria: {funcionario.Departamento}");
Console.WriteLine($"Responsavel: {funcionario.Nome}");
}
}