1. 程式人生 > >面向對象--作業二

面向對象--作業二

獲得 構造 AI 心算 bubuko 其他 uninstall http 實現

C實現電梯調度流程

技術分享圖片

C++對象實現類圖

技術分享圖片

對比分析

  • C

    • C中主要是使用多個函數對變量進行數據處理的各項操作。

    • 每個函數可能復雜度較高,一個函數進行多種運算後可得到相近於最終結果的數據。

    • 各個函數組成一個核心算法,除算法外無其他有型結構。

    • 數據流動比較隨意,只有相對的流動方向,沒有相對嚴謹的隸屬結構層次。

  • C++

    • C++主要是一個模擬事物的思想,在程序內部將電梯的主要特點捆綁構造為類。

    • 在類中,數據流動方向固定,私有性數據不能隨意被篡改,具有高隱蔽性。

    • 類可以附帶成員函數,來分擔實現一些小功能,因此核心算法可以變得更簡化。

    • 在main函數中可通過調用電梯類公用方法獲得各種參數,以更便利地運算數據。

    • 數據命名規範,隸屬層次分明,面對大數據時用起來更不容易出錯。

比較簡單的電梯類

#include<queue>
class Elevator
{
    private:
        int CurrentTime;                    //當前時間 
        int CurrentFloor;                   //當前樓層
        queue<int> Destination;             //目標隊列 
        int CurrentDirection;               //當前方向,<0下,>0上 
    public: 
        Elevator();                         //構造 
        ~Elevator();                        //析構
        int GetCurrentFloor();              //當前樓層
        void SetNextDestination(int);       //接受下一層指令 
}

Elevator::~Elevator()
{
    cout<<"Elevator has been uninstalled!"<<endl;
}

Elevator::int GetCurrentFloor()
{
    return CurrentFloor;
}

Elevator::void SetNextDestination(int Next)
{
    Destination.push(Next);
    CurrentDirection=Next-CurrentFloor;
}

面向對象--作業二