员工主管层级批准的结构

时间:2014-11-19 23:23:44

标签: java

我想为员工和主管层级创建一个用于采购订单批准的类。这里创建了三个类1)Person Class 2)Employee Class 3)Supervisor class 人员类别由人名组成,该人员将分别在其员工和主管职等中分配为员工或主管。当主管上面还有一名主管时,问题就出现了,因为我无法再将主管创建为员工。你能告诉我如何建立一个审批结构,即使主管有一个主管,他也可以批准采购订单。

谢谢&问候, 约杰什

1 个答案:

答案 0 :(得分:0)

布置课程设计的最佳方式是使用" IS A"测试

员工" IS A"因此,员工阶层应该扩展人类。

主管" IS A"员工,因此主管班应该扩展员工类。

关于拥有主管的主管,主管应该是员工类中的一个领域,这样每个员工(并且记住主管" IS A"员工)都有一个主管。

现在,在您的员工类中,您可以使用processPurchase()方法检查其主管,然后在主管类中,您可以覆盖此方法,以便它不需要与其主管核实。

如果主管需要与他的主管核实,班级结构将保持不变,但方法会有所不同。在员工的processPurchase()方法中,他只是要求他的主管处理它。但是,在主管的processPurchase()中,他需要检查他是否有一个主管,然后采取相应的行动,所以在半伪代码中:

public class Supervisor extends Employee {

    //constructor
    public Supervisor(){};

    public processOrder(){
        if(this.getSupervisor() == null){
            //Don't have a supervisor, send out the order
        } else {
            this.getSupervisor().processOrder();
        }
    }
}

请记住,Employee类需要包含supervisor字段和访问器方法,然后Supervisor类将继承它们