1. 程式人生 > >學習uml類圖中的表示(介面卡模式)

學習uml類圖中的表示(介面卡模式)

學習設計模式,感覺首先要學習uml類圖,在學習介面卡模式時學習了一小小點:

1,兩個類之間的關係,如果一個類依賴於另一個類,那麼表明:被依賴的類在另一個類中是區域性的變數、方法的引數或者是對靜態方法的呼叫;帶箭頭的虛線,指向依賴類

2,如果一個類關聯另一個類,那麼表明:被關聯的類是另一個類的成員變數;帶普通箭頭的實心線,指向被關聯類

本文介紹的是物件介面卡,類介面卡需要多重繼承,C#和JAVA不支援,因此主要研究物件介面卡

這裡是應用了關聯的關係;主要參考了http://blog.csdn.net/wuzhekai1985/article/details/6665542和http://www.cnblogs.com/wanggary/archive/2011/04/13/2015335.html

具體工程如下:

//sequence,h
#ifndef _SEQUENCE_H_
#define _SEQUENCE_H_

#include"deque.h"

class Sequence{
public:
	Sequence(){}
	virtual ~Sequence(){}
	virtual void push(int y) = 0;
	virtual void pop() = 0;
private:
	Deque* deq;
};
#endif
//deque.h
#ifndef _DEQUE_H_
#define _DEQUE_H_

class Deque{
public:
	Deque(){}
	virtual ~Deque(){}
	virtual void push_back(int x) = 0;
	virtual void push_front(int x) = 0;
	virtual void pop_back() = 0;
	virtual void pop_front() = 0;
};

#endif
//dique.h
#ifndef _DIQUE_H_
#define _DIQUE_H_

#include"deque.h"
#include<iostream>
using namespace std;

class Dique:public Deque{
public:
	Dique(){}
	~Dique(){}
	void push_back(int x){
		cout << "push_back" <<"\t"<< x << endl;
	}
	void push_front(int x){
		cout << "push_front" << "\t" << x << endl;
	}
	void pop_back(){
		cout << "pop_back" << endl;
	}
	void pop_front(){
		cout << "pop_front" << endl;
	}
};

#endif
//stack.h
#ifndef _STACK_H_
#define _STACK_H_

#include"sequence.h"
#include"dique.h"

class Stack :public Sequence{
public:
	Stack(){
		deq = new Dique;
	}
	~Stack(){
		delete deq;
	}
	void push(int y){
		deq->push_back(y);

	}
	void pop(){
		deq->pop_back();
	}
private:
	Deque* deq;
};

#endif
//queue.h
#ifndef _QUEUE_H_
#define _QUEUE_H_

#include"sequence.h"
#include"dique.h"

class Queue :public Sequence{
public:
	Queue(){
		deq = new Dique;
	}
	~Queue(){
		delete deq;
	}
	void push(int y){
		deq->push_back(y);

	}
	void pop(){
		deq->pop_front();
	}
private:
	Deque* deq;
};

#endif
//mian.cpp
#include"sequence.h"
#include"queue.h"
#include"stack.h"

void main(){
	Sequence* seq1 = new Stack;
	Sequence* seq2 = new Queue;
	seq1->pop();
	seq1->push(1);
	seq2->pop();
	seq2->push(2);
	delete seq1;
	delete seq2;
}

uml沒有畫,以後再補上

相關推薦

學習uml表示介面卡模式

學習設計模式,感覺首先要學習uml類圖,在學習介面卡模式時學習了一小小點: 1,兩個類之間的關係,如果一個類依賴於另一個類,那麼表明:被依賴的類在另一個類中是區域性的變數、方法的引數或者是對靜態方法的呼叫;帶箭頭的虛線,指向依賴類 2,如果一個類關聯另一個類,那麼表明:被關

UML關係的表示說明

下面是我的一些筆記 可見性 名稱:型別 -name:String==private String name; 第一個矩陣是類名,第二個矩陣是類的成員變數,第三個矩陣是類的方法。 +==public #==protected -==private 1:關聯關

UML的關係

前言:    UML中類圖之間的關係有許多種,我們在使用畫圖工具畫圖時常常會因為不瞭解類圖之間的關係而導致類圖畫的不夠準確,不能高效簡單地表達開發需求,學的時候就有點模模糊糊,傻傻分不清楚,現在UML

UML最重要的幾種類關系及其表示

種類 uml圖 影響 uml 直線 類圖 關系 -- 實現 閱讀UML圖最常見到的類與類之間的關系有如下幾種: 1、依賴關系   依賴關系是指一個類在計算時,應用了“另一個類”類型的參數,這種關系是偶然、臨時、弱的。   UML類圖中,依賴關系用帶單箭頭的虛線表示,即A類-

UML的幾種關系總結

技術分享 name dos track text ive implement fonts 結構 UML類圖,描寫敘述對象和類之間相互關系的方式包含:依賴(Dependency)、關聯(Association)、聚合(Aggregation)、組合(Com

UML關系泛化 、繼承、實現、依賴、關聯、聚合、組合-轉

定位 雙向 圖關系 bst 操作 att one 一般來說 eal 繼承、實現、依賴、關聯、聚合、組合的聯系與區別 分別介紹這幾種關系: 繼承 指的是一個類(稱為子類、子接口)繼承另外的一個類(稱為父類、父接口)的功能,並可以增加它自己的新功能的能力,繼承是類與類或者

UML的三種關系----關聯、聚合和泛化

ron 內存 gre 區別 分享 聚合 兩個 說明 鍵盤 一、關聯association 1、解釋說明:   表示兩種類實例間的關系。如果一個類的實例必須要用另一個類的實例才能完成工作時就要用關聯。關聯關系時在類中是使用實例變量來定義實現的。 2、在圖中,關聯用兩個類之間的

UML 常用表示方法.

UML中類圖例項 介面:空心圓+直線(唐老鴨類實現了‘講人話’);依賴:虛線+箭頭(動物和空氣的關係);關聯:實線+箭頭(企鵝需要知道氣候才遷移);聚合:空心四邊形+實線+箭頭(雁群和大雁的關係);合成/組合:實心四邊形+實線+箭頭(鳥和翅膀的關係);泛化/繼承:空心三角形+實線(動物和鳥的繼承關係);實現

[轉]UML連線線與箭頭的含義

目錄: 一些概念 關聯 1.雙向關聯 2.單向關聯 3.自身關聯(反身關聯) 2.依賴 1 單向依賴 2 雙向依賴 組合/聚合 1 組合 2 聚合

UML幾種關係的總結

   在UML類圖中,常見的有以下幾種關係: 泛化(Generalization),  實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)          1. 

UML常見的幾種關係:泛化、 實現、關聯、聚合與組合

在UML類圖中,常見的有以下幾種關係:泛化(Generalization),  實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency) 1.泛化(Generalizati

一張徹底理解UML的各種關係

就算學習了很久的UML類圖,相信大家對於類圖中的類與類之間的關係的理解可能多多少少還是會有些迷惑,下面我將用一幅圖來幫助大家理解類圖中的各種關係。 如上圖所示,我們先建立一個抽象類動物Animal,

UML之間的關係及畫法

  類與類之間的關係通常有4種,即依賴關係(Dependency)、泛化關係(Generalization)、關聯關係(Association)、實現關係(Realization) 依賴關係(Depe

淺談UML之間的5種關係

什麼是UML類圖? 類圖顯示了一組類、介面、協作以及他們之間的關係。在UML中問題域最終要被逐步轉化,通過類來建模,通過程式語言構建這些類從而實現系統。類加上他們之間的關係就構成了類圖,類圖中還可以包

UML之間的6種關係與區別

原文:https://blog.csdn.net/it_zjyang/article/details/51355062兩個類之間的關係分為兩種,一種是強關聯一種是弱關聯,強關聯是在編譯時期就已經確定的,無法在執行時期動態的改變的關聯;弱關聯是可以動態地確定並且可以在執行時期動

uml的幾種關係的總結

在UML類圖中,常見的有以下幾種關係: 泛化(Generalization),  實現(Realization), 關聯(Association), 聚合(Aggregation), 組合(Composition), 依賴(Dependency) 1.       泛化(

UML之間的關係,聚合,組合,依賴總結

下面我就根據下面這個圖來講解一下UML類圖。 類圖 首先,看動物那個矩形框,他就表示為一個類(Class)。類圖分為三層: 第一層顯示類的名稱 如果是抽象類,就用斜體表示 第二層顯示類的特性,通常是欄位和屬性。 第三

UML的六種關系

同時 臨時 屬性和方法 tail general 類圖 real 比較 時也 UML類圖中經常會用到各種箭頭和線條來表示不同類或者接口之間的關系,因此非常好的理解各個圖標的含義是很有必要的。 在邏輯設計階段可以通過EA工具將類圖搭建好,然後直

uml +

描述類的屬性的可見性: UML中,可見性分為4級 1、public 公用的 :用+ 字首表示 ,該屬性對所有類可見 2、protected 受保護的:用 # 字首表示,對該類的子孫可見 3、private 私有的:用- 字首表示,只對該類本身可見 4

UML箭頭和線條的含義和用法

本節向大家學習一下UML箭頭、線條代表的意義,UML中關係主要有依賴,聚合,合成,泛化和實現等,下面就讓我們來看一下這些關係如何用UML箭頭和線條來實現。 UML箭頭、線條程式 關係 後面的例子將針對某個具體目的來獨立地展示各種關係。雖然語法無誤,但這些例子可進一步精煉,在它們的有效範圍內包括更多的語義。