【发布时间】:2014-05-23 01:49:51
【问题描述】:
一个小型工资单程序,根据员工一个月的工作小时数支付工资或金额(仅限按小时支付的员工)这是我制作的两个类图之一:
本版本使用两个子类定义两种员工,并继承Employee父类的基础属性,两个子类有自己的支付两种员工的方法。
我的另一个版本是这样的:
此版本根据支付的员工类型使用方法覆盖。
基于其他类及其关系,哪个更适合实现? 实施其中一项是否会产生重大影响?
【问题讨论】:
-
不太确定我是否喜欢其中任何一个。为什么不创建一个带有标志的 Employee 类,告诉您他们是按小时还是受薪?这样,您只需一个
pay方法来检查该标志并相应地调整其支付方式的计算。 -
你的意思是方法重载吗? (第一个使用方法覆盖。)
标签: c# oop methods polymorphism overriding