2018面對物件 作業二

2022-03-28 23:29:03 字數 1605 閱讀 5817

c語言實現的流程圖

c++物件導向實現的類圖

c過程流程與c++物件類圖區別:

首先,二者思考的問題一致——如何規劃電梯排程,使得乘客需求滿足的情況下,執行時間最短。

在這種前提條件下,面對過程與面對物件所存在的區別,我認為有如下幾點(僅為個人見解,如有錯誤歡迎指正):

一、編碼區別:

1、面對過程主張解決問題,主要面對怎麼排程,函式均為全域性函式。

2、面對物件主張針對電梯編碼,除了面對怎麼排程,還提倡排程什麼,即考慮完乘客需求後,對於電梯的各項屬性進行一定的規劃來解決問題。

通俗來講,我認為的最明顯的區別——標頭檔案自我編寫與否、function( elevator lift ) versus lifi.funciton()

二、思考方式區別:

1、面對過程不會考慮屬性值的私有,會造成一些不願看到的結果。(一些不希望被訪問的東西可以被肆意訪問)

2、面對物件顯然做好了對於屬性值的保護,如若不想被訪問的物件完全可以做到獨自占用。

ps:談及面對過程和面對物件,我還很想說一門語言——pascal,不敢說多麼了解,但是也曾經寫過一段不短的時間,在學習pascal的時候,完全屬於面對過程程式設計(並沒有貶低面過程的意思),發現很多東西確實用面對過程實現不妥,或者說是少了一種直面所編寫事物的體驗(比如編寫汽車改裝,modifycar( car mycar) versus mycar.modify,我個人感覺第二種更有改裝汽車的感覺在)

電梯類:

#include #include #include #include #include #include #include using namespace std;

class passenger

{};class elevator

;elevator:: elevator()

elevator:: ~elevator()

void elevator:: run( int tofloor )

void elevator::show( int curtime, int curfloor )

總結:其實寫過了挺久的面對過程,最近(寒假至今)又接觸到了面對物件,才懂得了「封裝、繼承、多型」的巧妙,也更覺得二者真的是相輔相成。面對物件的編寫中,不可能缺少面對過程(如何解決問題的過程),但是,面對物件又多了幾重保護,多了一些概念,從而使得相對於開發專案而言,面對物件比面對過程更為合適與合理。此外,我還想多談一點就是,當乙個排程程式寫出來後,應當考量其的泛化功能,因為當下我們編寫的程式並不具有學習能力,無法從已測試中的樣例中學習進步,所以泛化的功能完全取決於我們編寫時的思路實現,所以很容易出現欠擬合與過擬合的情況,即有些乘客該接沒接,有些乘客不該接接了,於是乎編寫程式時的判斷,預剪枝就顯得非常重要。個人感覺,我自己電梯的決策確實是不怎麼優的,也有很多情況沒有考慮,希望今後能不斷進步。

2018面對物件 作業三

address of github c語言3電梯程式該如何執行 1 明確乘客需求 2 針對乘客要求,寫出相應排程函式 3 排程函式並在對應檔案輸出 拿到作業,發現是三部電梯,本來打算寫出三個類,後來想想發現除了輸出檔案不同,排程函式幾乎一樣 除開只能特定樓層 於是乎最後只呈現出了乙個電梯類,三個電梯...

面對物件(中)作業

1封裝,繼承,多型 2利用抽象資料型別 類 將資料和基於資料的操作繫結在一起,資料被儲存在抽象資料型別內部,系統只有通過被授權的操作方法才能訪問資料。3物件可以用別的物件的引用與別的物件互相作用,條件是該物件的屬性與方法最好為public。不包括同一包,或子類 4 protected修飾符,在類的定...

mysql面對物件 面對物件資料庫

物件導向的方式訪問資料庫 造物件 db new mysqli localhost root 123 mydb 判斷連線是否出錯 if mysqli connect error mysqli connect error or die 連線失敗!寫sql語句 sql insert into info v...