uml-類圖總結

 什麼是類?

       類是具有相同屬性和方法的一組對象的抽象,是面向對象設計中的基本單位。比如老虎、魚、鳥等這些動物都有生命,都需要進行新陳代謝,他們都有這些共同的屬性和方法,所以“動物”就是一個類;如果再往下分比如鳥有燕子、喜鵲、啄木鳥等種類,但它們都有翅膀,它們都可以飛翔,所以說,“鳥”也是一個類。                      

       什麼是類圖?

       類圖是面向對象系統建模中最重要、最基本、最常見的圖。類圖顯示了一組類、接口、協作以及它們之間的關係。

       類圖由哪些部分組成?

      類圖中可以包含類、包、接口以及它們之間的關係等元素。

         ※類

              類在類圖中的表示如下:

             

       上圖中,類由三部分組成,最上層爲類名,中間層爲類的屬性,最底層爲類的方法。屬性和方法前面的圖標分別表示公有(public)、私有(private)、保護(protect)、包內成員可見(package),舉的“鳥類”的例子,類名爲“Bird”,所有的鳥都有life和Wings,所有的鳥都會飛,都會下蛋。

         ※包

           有些系統中可能存在大量的類和接口等元素,因此,有必要把這些元素組織成一組一組的,包正是用於把建模元素組織成組的通用機制。包中可以包含類、接口、構件、結點、協作等元素,甚至可以包含其他包。包在圖中的表示爲:

       

         ※接口

          接口是一組操作的集合,這組操作用於描述類或構件的一個服務。在UML圖中通常用一個類似於類圖的矩形框,不過第一層要寫明“<<interface>>”,或者還可以用一個小圓圈表示,如:

        或者

          ※關係

       1、關聯關係:

        (1)、單向關聯:表示兩個類由一定的關聯,但只有一個類知道這種關係的存在,它知道另一個類的屬性和方法,通常用一條直線加一個箭頭表示,比如:

        

        (2)、雙向關聯:兩個類也有聯繫並且這兩個類彼此都知道這種關係的存在,通常用兩段都有箭頭的一條直線表示,比如:

      

        (3)聚合:聚合是比較強的關聯關係,表現的更多的是整體與部分的關係,比如一輛車有多個車輪,但每個車輪不一定要裝在這輛車上,比如:

        

        (4)組合:組合是更強的關聯關係,它在聚合關係的基礎上表示部分與整體不可分割,比如一個人有兩條胳膊和腿,而且這兩條胳膊和腿必須長在這個人的身上,比如:

        

          2、泛化:

        泛化就是類與類、接口與接口、類與接口之間的繼承關係,在途中通常用一條直線加一個小三角表示:

        

         在這個圖中,Animal、BIrd、Fish分別是一個類,但Bird類和Fish類繼承了Animal類,所以Bird類和Fish類也就同時繼承了Animal父類中的屬性和方法。

        3、依賴:依賴在圖中用一條虛線加箭頭表示,它表明一個類依賴於另一個類,比如人需要喫東西,下面這個圖就表示人類依賴於食物類:

        

注:它與關聯的區別在於,關聯更強,依賴更弱,關聯在類中表現爲成員變量,而依賴關係表現爲成員方法內部的局部變量,方法參數和靜態方法的調用等

        4、實現關係:在我理解來看,實現關係跟“使用”差不多,通常指一個類實現接口的功能,在圖中用一條虛線加一個小三角表示:

       

5、幾種關係的強弱次序:組合>聚合>關聯>依賴

     實踐——機房收費系統類圖

             第一次畫系統的類圖,感覺抽象的不是特別好,因爲每種用戶的權限不同,而且一般用戶、操作員、管理員的權限一級一級升高,所以就就給他們抽象出來一個用戶類,然後一級一級往下泛化,不知道這樣是否合適……

           

      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章