Skip to content

Instantly share code, notes, and snippets.

@ldaniel
Created April 12, 2011 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ldaniel/915818 to your computer and use it in GitHub Desktop.
Save ldaniel/915818 to your computer and use it in GitHub Desktop.
Usando IFs, o certo e o errado.
using System;
namespace NadaDeIfs
{
class Program
{
static void Main(string[] args)
{
IFuncionario funcionario = new Funcionario();
AplicarBonus(funcionario);
funcionario = new Gerente();
AplicarBonus(funcionario);
Console.ReadLine();
}
static void AplicarBonus(IFuncionario funcionario)
{
Console.WriteLine(funcionario.AplicarBonus(250));
}
}
public interface IFuncionario
{
double AplicarBonus(double valor);
}
public class Funcionario : IFuncionario
{
public virtual double AplicarBonus(double valor)
{
return valor + (valor * 0.1);
}
}
public class Gerente : Funcionario
{
public override double AplicarBonus(double valor)
{
return valor + ((valor * 0.1) + 10);
}
}
}
using System;
namespace UsandoIFs
{
class Program
{
static void Main(string[] args)
{
AplicarBonus("Funcionario");
AplicarBonus("Gerente");
Console.ReadLine();
}
static void AplicarBonus(string tipoFuncionario)
{
var funcionario = new Funcionario();
if (tipoFuncionario == "Funcionario")
{
Console.WriteLine(funcionario.AplicarBonusFuncionario(250));
}
else if (tipoFuncionario == "Gerente")
{
Console.WriteLine(funcionario.AplicarBonusGerente(250));
}
else
{
Console.WriteLine("Não encontrado.");
}
}
}
public class Funcionario
{
public double AplicarBonusFuncionario(double valor)
{
return valor + (valor * 0.1);
}
public double AplicarBonusGerente(double valor)
{
return valor + ((valor * 0.1) + 10);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment