2011年12月21日

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

                 類(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}


           

          posted @ 2011-12-21 21:43 Donald can save the Xmu 閱讀(479) | 評論 (0)編輯 收藏


          僅列出標題  

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

          Copyright © Donald can save the Xmu

          主站蜘蛛池模板: 胶南市| 昭苏县| 吉安县| 子长县| 汝州市| 东阳市| 根河市| 南木林县| 舞阳县| 朔州市| 达拉特旗| 金坛市| 丰县| 崇明县| 江陵县| 安陆市| 易门县| 永善县| 渝中区| 紫金县| 孟津县| 容城县| 库车县| 万载县| 宁夏| 宁明县| 炎陵县| 宁河县| 麻江县| 遵化市| 玉溪市| 瓦房店市| 榆中县| 天台县| 开平市| 阿尔山市| 彭泽县| 犍为县| 秦安县| 莫力| 句容市|