1. 什麼是面向對象:
對象:一組屬性及這組屬性的操作封裝體,通常由三部分組成(對象名,屬性,操作)
類:具有一組相同屬性或操作的對象的集合(類名,屬性,操作),沒有實例的類稱爲抽象類;
繼承:繼承關係表示了對象間"is-a"的關係,對於兩個類A和B,如果A類是B類的子類,則說B類是A類的泛化。
類的成員:類的成員有動態和靜態之分,默認情況下,爲動態成員。靜態成員包括靜態方法和靜態屬性
多態性:多態性是指同一個操作作用於不同的對象可以有不同的解釋,產生不同的執行結果。多態性密切相關的一個概念就是動態綁定。傳統的程序設計語言把過程調用與目標代碼的連接放在程序運行前進行,稱爲靜態綁定。
通用多態
參數多態:一個方法,參數個數和參數類型不同;
包含多態:參數採用Object或基類,其子類也可以作爲參數;
特定多態
過載多態:String 的 + 代表拼接,int 的 + 代表相加;
強制多態: 變量 int 和 String 的 ‘+’ ,強制轉換爲String 拼接;
2. 統一建模語言(UML)
UML有四種事務:
1)結構事務:名詞,靜態部分,物理元素()
2)行爲事務:動詞,動態部分,行爲(消息,狀態,動作)
3)分組事務:包
4)註釋事務:註解
3. 用例圖:
由參與者(Actor)、用例(Use Case),邊界以及它們之間的關係構成的用於描述系統功能的視圖。用例圖是系統的藍圖,用於需求分析階段。
4. 類圖
類圖是靜態視圖,
類圖中包括:
•(1)類
•(2)接口
•(3)協作
•(4)依賴、泛化和關聯關係
類圖的分類:
1)實體類:實體類對應系統需求中的每個實體,它們通常需要保存在永久存儲體中,一般使用數據庫表或文件來記錄,實體類既包括存儲和傳遞數據的類,還包括操作數據的類。實體類來源於需求說明中的名詞。
2) 控制類:控制類用於體現應用程序的執行邏輯,提供相應的業務操作,將控制類抽象出來可以降低界面和數據庫之間的耦合度
3) 邊界類:邊界類用於對外部用戶與系統之間的交互對象進行抽象,主要包括界面類,如對話框、窗口、菜單等。
類之間的關係:
•依賴(Dependency)
是一種使用的關係, 即一個類的實現需要另一個類的協助, 所以要儘量不使用雙向的互相依賴。依賴關係用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。
•泛化(Generalization)關係
•子類繼承自父類,父類是子類的泛化。
• 關聯(Association)
是一種擁有的關係, 它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子.
•聚合(Aggregation)
聚合是關聯關係的一種特例,他體現的是整體與部分、擁有的關係,即has-a的關係,此時整體與部分之間是可分離的.
•組合(Composition)
•組合也是關聯關係的一種特例,他體現的是一種contains-a的關係,這種關係比聚合更強,也稱爲強聚合;他同樣體現整體與部分間的關係,但此時整體與部分是不可分的,整體的生命週期結束也就意味着部分的生命週期結束。在UML中,組合關係用帶實心菱形的直線表示。
•實現關係(Implementation)
•是用來規定接口和實現接口的類或者構建結構的關係,接口是操作的集合,而這些操作就用於規定類或者構建的一種服務。
5. 對象圖
•對象圖(ObjectDiagram) 展現了某一時刻一組對象以及它們之間的關係,描述了在類圖中所建立的事物的實例的靜態快照。
6.交互圖
對象:圖中的矩形元素即爲對象,其中冒號前面部分爲對象名,後面爲類名,表示類的一個實例。
鏈接:用兩個對象之間的單一線條表示,用來在通信圖中關聯對象,目的是讓消息在不同系統對象之間傳遞。可以理解鏈接是公路,消息是車。
消息:通信圖中對象之間通信的方式。
7. 狀態圖
8. 活動圖
將進程或其他計算的結構展示爲計算內部一步步的控制流和數據流,主要用來描述系統的動態視圖。
9. 構件圖(組件圖)使用構件圖的思想是複用。
10 .部署圖,•是用來顯示系統中軟件和硬件的物理架構。
11. UML分類