麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 技術開發(fā) > 正文

類與類關系的UML圖與代碼表現(xiàn)

2023-06-18 12:51:34
字體:
來源:轉載
供稿:網友

一 、一般化關系

二 :

三 :

四 :

五 :

類與類之間的關系對于理解面向對象具有很重要的作用,存在以下關系:

(1)泛化(Generalization) :狗與動物 (空箭頭)

(2)關聯(lián)(Association) :公司與員工有特定的某種關系 (實線)

(3)依賴(Dependency) :人依賴螺絲刀 (虛線箭頭)

(4)聚合(Aggregation) : 電腦和CPU,主板 (菱形空間頭)

詳細展開 :

一 .泛化(Generalization)

表示類與類之間的繼承關系,接口與接口之間的繼承關系,或類對接口的實現(xiàn)關系。

一般泛化的關系是從子類指向父類的:

父類 父類實例=new 子類()

1/** *//**
2*  動物類
3*/

4public class Animal{
5
6}
    


 

1/** *//**
2* 老虎類 
3*/

4public class Tiger extends Animal{
5
6}
  

 

1/** *//**
2* 一個測試類
3*/

4public class Demo{    
5    public void test() {
6        //老虎的實例 也屬于動物類型 
7        Animal animal = new Tiger();  
8    }
    
9}
 

二 .依賴(Dependency)

對于兩個相對獨立的對象,當一個對象(螺絲刀)負責構造另一個對象(人)的實例,或者一個對象(人)依賴另一個對象(螺絲刀)的服務時,這兩個對象之間主要體現(xiàn)為依賴關系。

下面這個例子顯然屬于后者 :人要做一個擰螺絲的動作,他就要依賴于 螺絲刀對象,因為只有螺絲刀對象才提供擰螺絲的服務。

 1/** *//**
 2 * 說明 :人 這個 類 
 3 */

 4public class Person {
 5    /** *//**
 6     * 人擁有的一個  擰螺絲  的  動作 依賴于螺絲刀這個類
 7     * @param screwdriver :螺絲刀類
 8     */

 9     public void screw(Screwdriver screwdriver)

10        //螺絲刀類提供了擰螺絲這個服務
11        screwdriver.screw();    
12    }
  
13}

三 .關聯(lián)(Association)

對于兩個相對獨立的對象,當一個對象的實例與另一個對象的一些特定實例存在固定的對應關系時,這兩個對象之間為關聯(lián)關系。

關聯(lián)關系是使用實例變量來實現(xiàn)

比如客戶和訂單,每個訂單對應特定的客戶,每個客戶對應一些特定的訂單;再例如公司和員工,每個公司對應一些特定的員工,每個員工對應一特定的公司

 1/** *//**
 2 * 公司
 3 */

 4public class Company{   
 5    //員工
 6    private Employee employee;
 7
 8    /** *//**
 9     * 公司運作
10      */

11    public void run()
{    
12        employee.startWorking();    
13    }

14    
15    public Employee getEmployee(){    
16        return employee;    
17    }
    
18    public void setEmployee(Employee employee){    
19        this.employee=employee;    
20    }
  
21

四 : 聚合(Aggregation)

當對象A被加入到對象B中,成為對象B的組成部分時,對象B和對象A之間為聚集關系。聚合是關聯(lián)關系的一種,是較強的關聯(lián)關系,強調的是整體與部分之間的關系。

[關聯(lián)與聚合的區(qū)別]

(1)關聯(lián)關系所涉及的兩個對象是處在同一個層次上的。比如人和自行車就是一種關聯(lián)關系,而不是聚合關系,因為人不是由自行車組成的。
聚合關系涉及的兩個對象處于不平等的層次上,一個代表整體,一個代表部分。比如電腦和它的顯示器、鍵盤、主板以及內存就是聚集關系,因為主板是電腦的組成部分。

(2)對于具有聚集關系(尤其是強聚集關系)的兩個對象,整體對象會制約它的組成對象的生命周期。部分類的對象不能單獨存在,它的生命周期依賴于整體類的對象的生命周期,當整體消失,部分也就隨之消失。比如張三的電腦被偷了,那么電腦的所有組件也不存在了,除非張三事先把一些電腦的組件(比如硬盤和內存)拆了下來。

 1public class Computer{    
 2    private CPU cpu;    
 3    public CPU getCPU()
{    
 4        return cpu;    
 5    }
    
 6    public void setCPU(CPU cpu){    
 7        this.cpu=cpu;    
 8    }
    
 9    //開啟電腦    
10    public void start(){    
11        //cpu運作    
12        cpu.run();    
13    }
    
14}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久精品视 | 亚洲国产午夜精品 | 久久艳片 | 羞羞电影在线观看 | 久色视频网站 | 欧美a在线观看 | 国产一级一级 | 久久亚洲春色中文字幕久久 | 亚洲欧美日韩久久精品第一区 | 欧美成人做爰高潮片免费视频 | 久久久久久久一区二区 | 黄色大片网站在线观看 | av亚洲在线观看 | 国产精品成人一区二区三区电影毛片 | 免费黄色小视频网站 | 国产精品久久久久久影院8一贰佰 | 极品美女一级毛片 | 国产免费观看一区二区三区 | 狠狠干五月天 | 2019亚洲日韩新视频 | 免费视频一区 | 色柚视频网站ww色 | 全黄裸片武则天一级第4季 九色p | 91精品国产九九九久久久亚洲 | 欧美特级一级毛片 | 色日本视频 | 牛牛a级毛片在线播放 | 黄色av网站在线观看 | 黄色免费小视频网站 | 国产美女自拍av | 性猛交ⅹxxx乱巴西 在线播放中文 | 日韩精品久久久久久 | 美女91视频 | 黄色片免费视频 | 91精品国产777在线观看 | 鲁丝一区二区二区四区 | 2019亚洲日韩新视频 | 欧美在线观看视频网站 | 中国国语毛片免费观看视频 | 国产精品成人av片免费看最爱 | 操操操操网 |