有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于员工-主管层级审批的java结构

我想为采购订单审批的员工和主管层次结构创建一个类。这里我创建了三个类1)人员类2)员工类3)主管类 人员类由人员名称组成,该人员将分别在其员工和主管类中被指定为员工或主管。当主管上面还有一名主管时,问题就出现了,因为我无法再次将主管创建为员工。您能告诉我如何创建批准结构,以便即使主管有一名上级主管,他也能够批准采购订单

多谢各位;当做 约格什


共 (1) 个答案

  1. # 1 楼答案

    布置类设计的最佳方法是使用“is a”测试

    employee“是”人,因此employee类应该扩展human类

    主管“是”雇员,因此主管类应该扩展雇员类

    关于有一个主管和一个主管,主管应该是employee类中的一个字段,这样每个员工(记住主管“是”员工)都有一个主管

    现在,在employee类中,可以有一个processPurchase()方法与他的主管进行检查,然后在supervisor类中,可以重写此方法,这样就不需要与他的主管进行检查

    如果主管需要与他的主管核实,班级结构将保持不变,但方法会略有不同。在雇员的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类将继承它们