[UML]UML系列——類圖class的依賴關系


相關文章   

      [UML]UML系列——用例圖Use Case

      [UML]UML系列——用例圖中的各種關系(include、extend)

      [UML]UML系列——類圖Class

      [UML]UML系列——類圖class的關聯關系(聚合、組合)

依賴關系的概念與符號

       依賴表示一個類以某種形式依賴於其他類。當兩個類處於依賴關系中時,其中一個類的改變可能會影響另一個類。

       符號:

 

依賴關系在代碼中的表現

      在程序代碼中,依賴關系意味着一個類的對象出現在另一個類的操作中。常見的有兩種情況:一個類將另一個類的對象作為自己某個操作的參數(形參),或者是操作的局部變量。

      程序演示:code/train

 1  class train
 2     {
 3         public string number;
 4 
 5         public train(string num)
 6         {
 7             number = num;
 8         }
 9 
10         public void run()
11         {
12             Console.WriteLine("列車啟動……列車到站");
13         }
14     }
train
 1  class person
 2     {
 3         public string name;
 4         public person(string name)
 5         {
 6             this.name=name;
 7         }
 8         public void GoToBeijing(train mytrain)  //從河南到北京
 9         {
10             Console.Write(name+"去北京乘坐{0}列車:",mytrain.number);
11             mytrain.run();
12         }
13         public void GoToHenan()   //從北京到河南
14         {
15             train mytrain = new train("1488"); 
16             Console.Write(name + “去河南乘坐{0}列車:", mytrain.number);
17             mytrain.run();
18         }
19     }
Person
 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             person person1 = new person("張三");
 6             person person2 = new person("李四");
 7 
 8             train train1 = new train("1487次"); //河南到北京
 9         train train2 = new train(“1488次”); //河南到北京
10         person1.GoToBeijing(train1);
11             person2.GoToBeijing(train2);
12             person1.GoToHenan();
13             person2.GoToHenan();
14         }
15     }
Program

      對應的類圖:

 

依賴關系與關聯關系的區別

       1、符號和在代碼中的區別

 

      2、語義上的區別

      當一個類的實例與另一個類的一些特定實例存在固定的對應關系時,這兩個類之間為關聯關系。

      只要一個類用到另一個類,但是和另一個類的關系不是太明顯的時候(可以說是用到了那個類),就可以把這種關系看成是依賴,依賴也可以說是一種偶然的關系。

      比如上面的人和火車的關系:在某個方法中偶然用到了它,但在現實中我和它並沒多大關系。

總結

      依賴關系還是比較好理解的,注意和關聯關系的區別及符號的表示方式不同,一個用虛箭頭,一個用實箭頭。

      今天就比較累,就寫到這里吧.......后面將介紹泛化關系,及泛化關系的應用——多態

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM