簡體   English   中英

員工主管層次結構批准的結構

[英]Structure for Employee Supervisor hierarchy approval

我想為員工和主管層次結構創建一個類,以批准采購訂單。 這里創建三個類:1)人員類2)雇員類3)主管類人員類包括人員名稱,此人將分別在其雇員和主管類中分配為雇員或主管。 問題來了,當主管還有一個主管在他上方時,便會無法再次創建該主管作為雇員。 您能讓我知道我如何創建批准結構,以便即使主管在其上方有主管,他也可以批准采購訂單。

謝謝與問候,Yogesh

布置類設計的最佳方法是使用“ 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字段和accessor方法,然后Supervisor類將繼承它們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM