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

前端之家收集整理的这篇文章主要介绍了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
    }
  }
}

猜你在找的C#相关文章