UML中依賴/泛化/關聯/實現/彙總/組合的C#實現

來源:互聯網
上載者:User

 

UML中依賴/泛化/關聯/實現/彙總/組合的C#實現 [轉]

    這幾天要寫點文檔用到UML的類圖,重新再次撿起以前的知識,多多少少有點總結,在這裡記錄下來,也算是以備後用吧。

    在這裡推薦大家可以嘗試著用用以下我推薦的二種UML工具:

  • Visual.UML.Developer.Edition.v5.1(感覺不錯,功能強大,不過收費)
  • StarUML(開源免費,05年之後就沒有再維護更新過,韓國人開發,符合亞洲人的習慣)

 

    在UML類圖中,類與類之間的關係主要有以下幾種:

  • 泛化(Generalization)

     所謂的泛化就是我們最常用的繼承關係

   1:      public class Employee
   2:      {
   3:          
   4:      }
   5:      public class SaleEmployee:Employee
   6:      {
   7:          
   8:      }

  • 依賴(Dependency)

依賴關係是指一個類對別一個類的依賴,比如說Employee類中有一個方法叫做TakeMoney(Bank bank)這個方法,在這個方法的參數中用到了Bank這個類,那麼這個時候可以說Employee類依賴了Bank這個類,如果Bank這個類發生了變化那麼會對Employee這個類造成影響。

   1:      public class Employee
   2:      {
   3:          public long TakeMoney(Bank bank)
   4:          {
   5:              return long.MaxValue;
   6:          }
   7:      }

 

  • 關聯(Association)

      關聯關係有點邊界模糊和依賴有點像,但又完全不像。關聯是指一個類用到了另外的一個類,但不依賴。還是用代碼來表達比較貼切

   1:      public class Shcool
   2:      {
   3:          public Student stu;
   4:      }
   5:      public class Student
   6:      {
   7:          
   8:      }

 

  • 彙總(aggregation)

        彙總是一種單向關係,彙總與關聯的區別在於彙總的兩個類之間的關係在概念層次上不是一個層級的,一般來說彙總中的類別關係總是一個類比別一個類要進階一些,而關聯基本上是平級的

   1:      public class Car
   2:      {
   3:          public Engine engine;
   4:          public Wheel wheel;
   5:      }
   6:      public class Engine
   7:      {
   8:          
   9:      }
  10:      public class Wheel
  11:      {
  12:          
  13:      }

 

  • 合成(Composition)

合成是一種特殊的彙總形式,它是提類與類之間的聯絡是非常密切的,少了那一個也不行。

  • 實現(Realization)

簡單的說就是介面

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.