在自己設計的過程中,有時很困惑于這些類圖。記下來以便后面回顧。

                 類(class) :類圖分三層。第一層顯示類的名稱,若是抽象類,則用斜體顯示。第二層顯示類屬性,通常為字段或屬性。第三層顯示類的操作,即方法或行為。屬性和方法前的符號:"+"表示public,"-"表示private,“#” 表示protected。

                 接口(interface):矩形表示法及棒棒糖表示法。矩形表示法:頂端有《interface》,第一行接口名稱,第二行接口方法。棒棒糖表示法:圓圈旁邊為接口名稱,方法在類中表示。

                 繼承(extends):空心三角形+實線。如圖中鳥繼承于動物,鳥具有動物的基本屬性,并且有身為鳥類特殊的屬性及方法。

                 實現(implements):空心三角形+虛線。如圖中的大雁實現了飛翔的接口,大雁也就具有了飛的方法。

                 關聯(association):實線箭頭。如圖中企鵝和氣候的關系,企鵝需要知道氣候的變化,因此在它的內部中添加了氣候的屬性,表示它知道了氣候的類。

                

          1public class Penguin extends Bird
          2{
          3 private Climate climate
          4}


                 聚合(aggregation):空心菱形+實線箭頭。聚合表示一種弱“擁有"關系,即A類可以包含B類,但B類不是A類中的一部分,如圖中的雁群和大雁的關系,雁群中有大雁,但大雁不是雁群的一部分。

          1public class WideGrooseAggregation
          2{
          3   private WideGroose[] arrayWideGroose
          4}

           
                組合(composition):實心菱形+實線箭頭。組合表示一種強“擁有"關系,體現了嚴格的部分和整體關系,部分和整體的生命周期一樣。如圖中,鳥和翅膀的關系。其中,連線兩端的"1"和"2",稱為基數,表示這一端的類有幾個實例。如果一個類可以有無數個實例,則用"n"表示。關聯關系、聚合關系也可以有基數

          1public class Bird
          2{
          3   private Wing wing;
          4   public Bird()
          5   {
          6     wing = new Wing();
          7   }

          8}


           

                 依賴(dependency):虛線箭頭。如圖中,動物、水和氧氣的關系。動物需要水和氧氣。


          1abstract class Animal
          2{
          3    public Metabolism(Oxygen oxygen, Water water);
          4}


           


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 1, comments - 0, trackbacks - 0, articles - 0

          Copyright © Donald can save the Xmu

          主站蜘蛛池模板: 河北区| 葫芦岛市| 昌图县| 罗平县| 左贡县| 砀山县| 军事| 克东县| 南昌县| 江城| 馆陶县| 隆安县| 突泉县| 横峰县| 竹山县| 阳山县| 舞阳县| 博爱县| 玉山县| 天津市| 晋州市| 岫岩| 威远县| 商水县| 嘉定区| 西盟| 漳浦县| 武川县| 克拉玛依市| 灌云县| 朝阳县| 桐柏县| 丰台区| 新建县| 惠来县| 宜章县| 乌苏市| 永康市| 开封市| 鲁甸县| 昌宁县|