相關文章
[UML]UML系列——用例圖中的各種關系(include、extend)
[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 }
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 }
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 }
對應的類圖:
依賴關系與關聯關系的區別
1、符號和在代碼中的區別


2、語義上的區別
當一個類的實例與另一個類的一些特定實例存在固定的對應關系時,這兩個類之間為關聯關系。
只要一個類用到另一個類,但是和另一個類的關系不是太明顯的時候(可以說是用到了那個類),就可以把這種關系看成是依賴,依賴也可以說是一種偶然的關系。
比如上面的人和火車的關系:在某個方法中偶然用到了它,但在現實中我和它並沒多大關系。
總結
依賴關系還是比較好理解的,注意和關聯關系的區別及符號的表示方式不同,一個用虛箭頭,一個用實箭頭。
今天就比較累,就寫到這里吧.......后面將介紹泛化關系,及泛化關系的應用——多態
