Pair Project API設計
本次 Pair Project 的內容是設計一個電梯調度系統。
我們認為一套完整的電梯調度系統應該包括以下三個類:
(1) 乘客類
(2) 電梯類
(3) 調度系統類
乘客類
乘客(Passenger)類主要用來描述乘客的相關屬性及其行為。
乘客類維護以下成員:
Number: 乘客編號,唯一標識該乘客
Weight: 乘客體重
Time: 乘客乘坐電梯的時間
Srcfloor: 乘客起始樓層
Dstfloor: 乘客目的樓層
乘客類公開以下方法:
Passenger: 構造函數,創建一個指定體重,起始樓層和目的樓層的乘客實例。
Request: 發出一個乘電梯的請求。
電梯類
電梯類用來描述電梯的屬性及行為。
電梯(Elevator)類維護以下成員:
Speed: 電梯速度
Currweight: 當前電梯乘員的總重量
Maxweight: 電梯的最大載重量
CurrPos: 電梯的當前位置
Status: 當前狀態(上行/下行/空閑)
Stopfloor: 電梯所有需要停靠的樓層
電梯類公開以下方法:
Elevator: 構造函數,創建一個指定參數的電梯實例。
IsFull: 判斷電梯是否滿員。
Move: 上升/下降電梯。
調度系統類
調度系統類實現對整個電梯系統的調度。
調度系統(Scheduler)類維護以下成員:
RequestList: 包含所有需要進行調度的請求。
調度系統類公開以下方法:
Scheduler: 構造函數,創建一個新的調度系統實例。
GetRequest: 添加一個新的請求。
DelRequest: 移除一個請求。
AssignElev: 將某一請求安排給某一電梯。