UML詳解 UML類圖

 

 

 
 
UML類圖  
解釋UML類圖:
1.       首先看「動物」矩形框,它表明一個類。該類圖分爲三層,第一層顯示類的名稱,若是是抽象類就要用斜體顯示。第二層是類的特性,一般就是字段和屬性。第三層是類的操做,一般是方法和行爲。注意前面的符號,‘+’表示public, ‘—’ 表示private, ‘#’表示protected.   
                                           
2.       「飛翔」矩形框表示一個接口圖,它與類圖的區別主要是頂端有《interface》顯示,第一行是接口名稱,第二行是接口方法。接口還有另外一種表示方法,俗稱棒棒糖表示法,就是唐老鴨類實現了「講人話」的接口。  
              
interface IFly                               interface Ilanguage                              
{                                             {
   void Fly();                                    void Speak();
}                                             }
 
3.       動物,鳥,鴨,唐老鴨他們之間都是繼承的關係,繼承關係用空心三角形+實現來表示。   
 
               
 
  
 
4.「大雁」實現了「飛翔」接口。實現接口用空心三角形+虛線來表示。(注:下面的圖中應爲空心三角形)
 
class Bird:Animal                      class WideGoose:IFly
{                                       {
   //繼承動物類                                 //實現飛翔接口
}                                       }
 
5.       企鵝與氣候有很大的關係,企鵝須要「知道」氣候的變化,須要「瞭解」氣候規律。當一個類「知道」另外一個類時,能夠用關聯(association)關係。關聯關係用實線箭頭來表示。  
       
 
class Penguin :Bird
{
   private Climate climate;//在企鵝Penguin中,引用到氣候Climate對象
}
 
6.       「大雁」和「雁羣」這兩個類。大雁是羣居動物,每隻大雁都屬於一個雁羣,一個雁羣能夠有多隻大雁。因此它們之間就知足聚合(Aggregation)關係。聚合表示一種弱的「擁有」關係,體現的是A對象能夠包含B對象,但B對象不是A對象的一部分。聚合關係用空心的菱形+ 實線箭頭表示。 
    
 
class WideGooseAggregate
{
   private WideGoose[] arrayWideGoose;
   //在雁羣WideGooseAggregate類中,有大雁數組對象arrayWideGoose
}
 
7.       「鳥」和「翅膀」這兩個類。鳥和翅膀似總體和部分的關係,而且翅膀和鳥的生命週期是相同的,在這裏鳥和其翅膀就是合成關係。合成(composition)是一種強的「擁有」關係,體現了嚴格的部分和總體的關係,部分和總體的生命週期同樣。合成關係用實心的的菱形+實線箭頭來表示。另外,合成關係的連線兩端還有一個數字「1」和數字「2」,,這被稱爲基數。代表這一端的類能夠有幾個實例,很顯然,一個鳥應該有兩支翅膀。若是一個類可能有無數個實例,則就用「n」來表示。關聯關係,聚合關係也能夠有基數的。
 
class Bird 
{
  private Wing wing;
  public Bird()
  {
     wing=new Wing();
    //在鳥Bird類中,初始化時,實例化翅膀Wing,它們之間同時生成
  }
}
 
8.       「動物」、「氧氣」與「水」之間。動物有幾大特徵,好比有新陳代謝,能繁殖。而動物要有生命,須要氧氣,水以及食物等。也就是說動物依賴於氧氣和水。它們之間是依賴關係(Dependency),用虛線箭頭來表示。 
 
 
abstract class Animal {    public Metabolism(Oxygen oxygen,Water water)    {    }  }
相關文章
相關標籤/搜索