c++ UML類圖分析

來源:互聯網
上載者:User

本文是我在讀《大話設計模式》時的一篇讀書筆記

 

 

 

 

 

 

這個矩形框代表一個類,這是一個類圖,它包括三層:

  1. 顯示類的名稱,如果是抽象類別,則用斜體表示。
  2. 類的特性,通常為欄位和屬性。
  3. 類的操作,通常是方法和行為。

注意前面的符號:"+"表示Public,"-"表示private,"#"表示protect。

 

 

 

這是一個介面圖,與類圖的主要區別是頂端有<<interface>>,第一行是介面名稱,第二行是介面方法。介面還有另一種標記法,俗稱"棒棒糖標記法",

 

 

這是一個繼承關係圖,繼承關係用空心三角行+實線來表示。

 

這是一個實現介面,用空心三角行+虛線表示。

 

 

class Penguin : Bird

{

private:

          Climate climate;

         //在企鵝Penguin中,引用到氣候Climate對象。

}

 

這是一個關聯關係,關聯關係用實線箭頭表示。當一個類"知道"另一個類時,用關聯(association).

 

 

 

class WideGooseAggregate

{

private:

        Widegoose  arrayWideGoose[ ];

}

 

這是一個彙總關係,彙總表示一種弱的擁有關係,體現的是A對象可以包含B對象,但B對象不是A對象的一部分。彙總關係用空心的菱行+實線箭頭來表示。

 

 

class Bird

{

private:

        Wing * wing;

public:

        void Bird()

        {

                wing = new Wing();

                //在Bird類中,初始化時,執行個體化翅膀Wing,它們之間同時產生

        }

}

 

這是一種組合關係(也叫合成),是一種強的"擁有"關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。另外,你還會注意到組合關係的連線兩端還有一個數字"1"和數字"2",這被稱為基數。

 

 

這是一種依賴關係,用虛線箭頭表示。

 

class Animal

{

public:

        void metabolic(Oxygen oxygen, Water water);

 

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.