耦合:模組之間聯絡的緊密程度。
內聚:模組內部各元素之間聯絡的緊密程度。
繼承與泛化
繼承:特殊類(子類)與一般類(父類)的關係。
泛化:一般類與特殊類的關係,一對多。
多型與過載
多型性是指一般類中定義的屬性或服務被特殊類繼承後,可以具有不同的資料型別或表現出不同的行為,通常是使用過載(專用多型)
和改寫(包含多型)
兩項技術來實現。
過載也稱為過載、重置,過載是編譯時執行的(靜態繫結),而改寫則是執行時選擇的(動態繫結)。
物件導向分析
ooa/ood
booch:螺旋上公升,迭代的、漸進式
omt:物件建模技術,主要用於分析、系統設計和物件設計,包括物件模型、動態模型和功能模型。
oose:物件導向軟體工程。
wirfs-brock:沒有明確地區分分析和設計的任務,而是從客戶規約的股價開始到設計完成結束的乙個過程。
統一建模語言
uml:將omt、oose、booch方法中的建模語言和方法有機地融合在一起。
類之間的關係
依賴關係:在uml中,使用帶箭頭的虛線表示依賴關係。
泛化關係:在uml中,使用帶空心箭頭的實線表示,箭頭指向父類。
關聯關係:關聯表示兩個類之間存在某種語義上的聯絡,在uml中,用一條實線來表示關聯關係。
聚合關係:是一種特殊形式的關聯,在uml中,用乙個帶空心菱形的實線表示,空心菱形指向的是代表整體的類。
組合關係:在uml中,用乙個帶實心菱形的實線表示,菱形指向的是代表整體的類。
實現關係:是操作的集合,在uml中,用乙個帶空心箭頭的虛線表示。
結構化方法和物件導向方法的比較
1、思維方法的比較
結構化方法關注於功能的分層和分解;而物件導向方法更類似使用科學抽象方法對現實世界進行的模擬。
2、價值判斷
結構化方法:自上而下地分解、得到問題域的層次性模型;符合人類思考問題的自然方式;... ...
物件導向方法:更容易支援企業的連續性過程改進;更容易支援 軟體復用;... ...
《架構整潔之道》之物件導向程式設計
物件導向是封裝 繼承 多型三項的有機組成。通過採取封裝特性,我們可以把一組相關聯的資料和函式圈起來,使圈外面的 只能看見部分函式,資料則完全不可見。譬如,在實際應用中,類中的公共函式和私有成員變數就是這樣。繼承的主要作用是讓我們可以在某個作用域內對外部定義的某一組變數與函式進行覆蓋。多型是函式指標的...
java之物件導向
類是用於描述同一型別的物件的乙個抽象。類中定義了這一類物件所具有的靜態和動態屬性 靜態屬性 成員變數 動態屬性 方法 1 類可以看成是一類物件的模板,物件可以看成該類的乙個具體例項 2 首先必須定義類才能有物件 說到類,就不得不說構造其構造方法了 在new乙個物件是,呼叫的就是類中的構造方法 列如p...
static之物件導向
一 靜態資料成員子 includeusing namespace std class point int point num 0 定義靜態資料成員 int main 對於類的非靜態資料成員,每個類物件都有自己的拷貝。而對於靜態資料成員被當作是類的成員。就像上述例子中,雖然定義了4個物件,但是靜態資料...