物件導向 類設計(二)

2021-07-10 02:09:00 字數 1015 閱讀 3556

物件導向——類設計(一)

拷貝建構函式(copy ctor)和拷貝賦值(copy assignment)操作符:

編譯器建立的版本只是單純地將**物件的每乙個non-static成員變數拷貝到目標物件;

在系統分析和設計階段:類分三種

例如在考試系統中,當學生在考試時 ,學生與試卷互動,那麼 ,學生和試卷都是實體類,而考試時間 、規則、分數都是邊界類; 當考試完了將試卷提交給試卷保管者 ,則 試卷則成了邊界類.

狀態圖和時序圖的區別在於,時序圖體現時間順序的正常情況,而狀態圖則體現所有可能的互動。例如:搜尋、刪除、增加和修改,不太可能受時間約束,就用狀態圖表示

cattrinfo* cattrinfo::clone() const

私有成員變數是乙個類的中心和本質(一些工具類、用於控制的類除外)。

我(類物件實體)只有有了胳膊(成員變數),我才能拿東西,我才能抓東西,揮舞拳頭,和人打架(成員函式)。

說句題外話,判斷乙個成員函式是否為 const,或者為什麼非類的成員函式不能被 const 修飾,也是因為成員變數,也即判斷乙個成員函式是否是 const 的關鍵問題是是否對成員變數進行修改,乙個非類的成員函式之所以不能被const修飾,顯然是因為其無法持有成員變數。

再次重申,類的成員變數十分關鍵,把握了成員變數,也便把握了該類的實質。

同樣試圖理解和把握乙個類,出發點也是從其所持有的成員變數,及變數型別開始;

rt.

類的賦值運算子過載的工作即在於:

仍然在成員變數,在成員變數的賦值(還是那句話,大部分的成員函式仍然圍繞成員變數展開),不可能是成員函式之間的賦值。(this->data = other.data;諸如此類的操作)

物件導向設計原則二

單一職責原則 srp 乙個類應當只有乙個改變的原因,類只需要知道一件事情,它們應當有乙個單獨的職責,要點就是當乙個類需要改變時,應當只有乙個原因。開放 封閉原則 ocp 軟體實體 類 模組 函式等 應當為擴充套件而開放,又為修改而封閉。這個原則有乙個相當詳細的定義,但是乙個簡單的意思是 你應當能夠改...

物件導向設計類的原則

我們設計類不應該是按名詞來進行設計,比如門 車等等,的日常名詞來設計。我們設計類,其實是乙個抽象事物的過程,既然是抽象就應當高於日常的表象。我們設計類的,根本目的是為了我們的工程 專案設計起來更方便,擴充套件起來更加容易,是從業務和實際出發的。按照不同的目的,我們會對相同的事物進行不同的抽象,比如汽...

5 物件導向建模 類設計

系統設計之後,我們需要對我們的類模型進行細化,具體過程如下 1.實現用例 根據用例的場景,我們為類新增一些操作,使我們的用例能夠通過類執行起來 2.設計演算法 一般來說,20 的操作消耗80 的執行時間,對於可能存在效能問題的操作,我們可以給出乙個初步的演算法偽 例如,每次查詢key為 abc 的物...