【发布时间】:2012-10-23 10:33:01
【问题描述】:
我认为这相对简单,但我只是对类图不熟悉。
我即将创建一个程序(用 Java 编写)来管理麦当劳的员工类型。所以,考虑为对象建模。
为了简单起见,麦当劳只有两种类型的员工,“主管”和“船员”,两者都按月领取工资。此外,他们都根据情况获得不同类型的奖金(当然将来可能会改变)
所以,我开始通过创建具有属性的超类“Employee”来建模
name
empId
salary
(方法......等)
顺便说一句,我把“CrewMember”和“Supervisor”作为它的子类。
那么我的困惑是,如果我确实以这种方式建模我的对象,我的“CrewMember”和“Superviser”类的实例怎么可能彼此不同? p>
请纠正我应该如何为我的课程建模。为了使班级区分,我还考虑在每个“船员”和“主管”上添加一种奖金,但我认为这不会灵活,如果将来奖金和奖金类型会发生变化。所以,我现在很困惑。
【问题讨论】:
-
我忘了提到我(目前)看到的“Supervisor”和“CrewMember”这两个班级之间的唯一区别是他们的薪水。
-
他们不是叫
Supervisor吗? -
@jbchichoko 以薪水为属性,无论子类如何,它总是可以不同。如果您希望所有主管的薪水相同,您应该重构您的工作,以便在
Supervisor中拥有一个静态常量。 -
另外,在这种情况下如何模拟奖金?
标签: java uml modeling class-diagram