建模的常用手段 組合與聚合

2021-10-01 18:31:44 字數 2571 閱讀 5539

2 聚合

當兩個物件之間是整體與部分的關係時,它們之間就是組合的關係。

對於如下問題:

構建乙個計算機類,一台計算機,由cpu晶元,硬碟,記憶體等組成。cpu晶元也使用類來表示。

計算機類和cpu類就是組合關係,組合關係具有如下特點:

擁有者需要對被擁有者負責,是一種比較強的關係,是整體與部分的關係。

具體組合方式:

1)被組合的物件直接使用成員物件。(常用)

2)使用指標表示被組合的物件,在建構函式中,建立被組合的物件;在析構函式中,釋放被組合的物件。

uml中的組合表示:

注意包含者使用實心菱形(uml畫圖工具:staruml)。

構建乙個計算機類,一台計算機,由cpu晶元,硬碟,記憶體等組成。cpu晶元也使用類來表示。

cpu類:

#pragma once

#include

class cpu

;

#include

"cpu.h"

#include

cpu:

:cpu

(const

char

*brand,

const

char

*version)

cpu::~

cpu(

)

computer類:

#pragma once

#include

"cpu.h"

class computer

;

#include

"computer.h"

#include

computer:

:computer

(const

char

*cpubrand,

const

char

*cpuversion,

int harddisk,

int memory)

:cpu

(cpubrand, cpuversion)

computer::~

computer()

main.cpp:

#include

#include

#include

#include

#include

"computer.h"

using namespace std;

void

test()

intmain

(void

)

構造與析構的順序如下:

cpu::cpu

computer::computer

computer::~computer

cpu::~cpu

聚合不是組成關係,被包含的物件,也可能被其他物件包含。

擁有者,不需要對被擁有的物件的生命週期負責。

需求:給計算機配一台音響。

computer類:

#pragma once

#include

"cpu.h"

class voicebox;

class computer

;

#include

"computer.h"

#include

#include

"voicebox.h"

computer:

:computer

(const

char

*cpubrand,

const

char

*cpuversion,

int harddisk,

int memory)

:cpu

(cpubrand, cpuversion)

void computer:

:addvoicebox

(voicebox *box)

computer::~

computer()

main.cpp:

#include

#include

#include

#include

#include

"computer.h"

#include

"voicebox.h"

using namespace std;

void

test

(voicebox *box)

intmain

(void

)

解析黑客利用交換機漏洞攻擊的常用手段

idc報告顯示,交換機市場近年來一直保持著較高的增長勢頭,到2009年市場規模有望達到15.1億美元。交換機在企業網中占有重要的地位,通常是整個網路的核心所在,這一地位使它成為黑客入侵和病毒肆虐的重點物件,為保障自身網路安全,企業有必要對區域網上的交換機漏洞進行全面了解。以下是利用交換機漏洞的五種攻...

UML中的聯絡 聚合與組合的區別

uml中的聯絡 association 聚合 aggregation 和組合 composition 三個概念很相似,也很難理解。今天看到這篇文章解釋得很清楚,所以在這裡轉一下,希望能對需要的人有所幫助。聯絡 聯絡 association 表明某個物件可以向另乙個物件通過某種方式傳送訊息。傳送訊息的...

黑客攻擊和入侵的八大常用手段有哪些?

黑客攻擊技術近年來的最新動態是什麼?來,一起看看黑客攻擊和入侵的8槍 八大手段。第一槍 硬體安全 利用硬體的黑客技術雖然報道不多,但它的的確確出現了 在bios晶元中植入病毒木馬,讓目前的防火牆 防毒軟體都失效 針對主機板上的電磁輻射進行資訊獲取的技術 僅僅使用軟體非法侵入的方式可能已經落伍,新時期...