面向對象的方法是當前應用最廣的程序設計方法
模塊化
在軟件的模塊化、可重用性、可擴展性等方面體現出強大的優點。spa
面向對象的要素:設計
對象:客觀世界裏的任何實體均可以稱之爲對象;orm
封裝: 把對象的屬性和操做結合在一塊兒,內部信息隱藏,經過接口操做;對象
消息:對象中方法的調用;繼承
類:把具備相同屬性的一個或者多個對象抽象成類;接口
繼承: 子類自動共享父類中數據和方法的機制;
it
多態:同一個操做做用於不一樣對象,能夠有不一樣解釋,產生不一樣執行結果
編譯
編譯時多態:重載 程序設計
運行時多態:子類重寫父類方法 + 父類引用子類對象
主要原則:
依賴倒轉原則
開放-閉合原則
替換原則
依賴倒轉原則:
要依賴於抽象,不要依賴於具體,
這種依賴是實現代碼擴展和多態的基礎。
依賴於某個抽象類,只要實現了該抽象類的子類,就能夠被類的使用者使用,從而實現了系統的擴展。
只有作到了具體依賴於抽象,纔有可能構建出可維護和可複用的系統。
開放-閉合原則:
對擴展開放,對修改關閉
在不修改之前已經寫好的代碼或者在儘可能不修改的狀況下來擴展系統功能
方法:
(1)抽象出最本質內容,抽象的越深,系統的可擴展性越好。
(2)對可變性進行封裝。要想作到用盡可能小的修改來擴展系統,就要找到哪些內容是可變的,哪些內容是不可變的。把具備不一樣可變性的內容進行封裝。
從開放閉合原則中能夠看出:
面向對象設計的重要原則是建立抽象化,而且從抽象化導出具體化,
具體化能夠給出不一樣版本,每一個版本給出不一樣的實現。
替換原則:
任何基類能夠出現的地方,子類必定能夠出現,
即子類重寫或實現父類的全部方法。
基於UML的OOA和OOD
OOA Object-Oriented Analysis 面向對象分析
OOD Object-Oriented Design 面向對象設計
OOA:建造的模型主要有對象模型、動態模型、功能模型
OOD:對OOA分析結果的進一步規範化整理,以便能被OOP直接使用
從OOA到OOD是一個逐漸擴充模型的過程。
即面向對象設計是用面向對象的觀點創建並求解域模型的過程。
三個步驟:
一、識別系統的用例和角色
對項目進行需求調研,依據項目的業務流程圖和數據流程圖,以及項目中涉及的各級操做人員,識別出系統中的全部用例和角色。
二、進行系統分析並抽象出類
找出系統中全部需求並加以描述,創建特定領域模型。
三、設計系統和系統中的類及其行爲
結構設計定義包(子系統)、包間的依賴關係、主要通訊機制;
詳細設計主要是細化包的內容,清晰描述全部的類。