我正在为一个OOAD课程的作业编写一个Java小程序,我遇到了一个问题,不太理解什么是正确的工厂设计模式以及如何在我的程序中实现它。
这是一个用于薪资计算的小程序。有一个名为Employee的基类和三个派生(子)类Hourly、Commissioned和Salaried。它们每个都有不同类型的支付数据类型。我只能在main类和整个程序中实例化一个对象。通过多态性,对象应该在类之间共享,并且我需要编写一个工厂方法来创建要分配给该对象的对象。
我有基类:
public class Employee {
protected Employee empFactory(int empType){
if (empType == 1)
return new Hourly();
if (empType == 2)
return new Commissioned();
if (empType == 3)
return new Salaried();
else
return null;
}
public static void main(String[] args) {
// TODO code application logic here
}
还有三个派生类:
public class Commissioned extends Employee
public class Hourly extends Employee
public class Salaried extends Employee
我省略了一些数据类型和其他细节,我认为这应该足够提供信息。我拥有的工厂方法是“真正”的吗?我一直在阅读有关抽象和具体工厂方法以及具体产品等方面的内容,但仍感到困惑,不知道如何实现它。非常感谢任何帮助或指针!