最近我参加了一次采访.这个问题被问到了.
这就是场景.
我们有两种类型的员工.定期和合同员工.
普通员工将在月底按固定基金支付.
合同员工将根据他们工作的小时数每周支付一次.
管理人员将被分配到这些员工进行监督.
经理可以在他下面有常规和合同雇员.
此应用程序将计算这些员工的工资单.
他们让我为这种情况提出课堂设计.
面试官期待我的答案是什么?
这方面的指针将受到高度赞赏.
解决方法
以下可能是其中一个设计
设计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 } } }