c# – 关于班级设计的面试问题

最近我参加了一次采访.这个问题被问到了.

这就是场景.

我们有两种类型的员工.定期和合同员工.
普通员工将在月底按固定基金支付.
合同员工将根据他们工作的小时数每周支付一次.

管理人员将被分配到这些员工进行监督.
经理可以在他下面有常规和合同雇员.

此应用程序将计算这些员工的工资单.

他们让我为这种情况提出课堂设计.

面试官期待我的答案是什么?
这方面的指针将受到高度赞赏.

解决方法

以下可能是其中一个设计

设计1.

public class Employee
{
   public bool isContractEmployee
      { get; set;}

   public abstract float CalculatePayroll();   
}


public class FullTimeEmp : Employee
{
   public override float CalculatePayroll()
   {
   }
}

public class ContractEmp : Employee
{
  public int NoofHR
      {get; set;}

  public override float CalculatePayroll()
   {
       sal = nohr*money;
   }
}

设计2.

public class employee
{
  public bool isContractEmployee
  { get; set;}

  public int NoofHR
  {get; set;}


  public  float CalculatePayroll()
  {
    if(this.isContractEmployee)
    {
      //calculate sal on based hr
    }
    else
    {
      //calculate regurlare sal
    }
  }
}

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...