設計模式--UML關係與程式碼對照
在學習UML的時候,重點掌握UML的九種圖和六種關係,以及他們衍生出來的作品。在機房收費系統完成後,通過UML的理論知識的學習之後,實踐了一把。用UML對系統進行建模之後,我們需要把UML圖轉換成具體的程式碼,用程式碼去實現我們的模型。每種關係在程式碼中的表示方法是怎樣的,同樣我們反過來,看了程式碼之後,我們能夠對應著找到類與類之間的關係。
繼承:指的是一個類(稱為子類、子介面)繼承另外的一個類(稱為父類、父介面)的功能,並可以增加它自己的新功能的能力。
程式碼
class Bird : Animal
{
//成員;
}
實現:指的是一個class類實現interface介面(可以是多個)的功能。
介面的表示方法
1.直接畫棒棒糖形狀的。
2.把一個類的形式設定為Interface然後選中這個interface, Format->Stereotype display->Lable
程式碼
<span style="font-size:24px;"> class Bird :IFlay,IWalk //介面的多繼承;
{
}</span>
關聯(Association):當一個類知道另一個類時用關聯
程式碼
<span style="font-size:24px;"> class Penguin : Bird
{
private Climate climate; //企鵝繼承鳥類,引用到了Climate物件
}</span>
依賴(Dependency):一個類A使用到了類B,類B的變化會影響到類A。
程式碼
<span style="font-size:24px;"> abstract class Animal
<span style="white-space:pre"> </span>{
public Metabolism(Oxygen oxygen,Water water)
{
//Water和Oxygen類作為Animal類的某個方法的引數或返回值;
}
}</span>
組合(Composition):一種強“擁有”關係,體現了嚴格的部分和整體關係,部分和整體的生命週期一樣。
程式碼
<span style="font-size:24px;"> class Bird
{
private Wing wing;
public Bird()
{
wing =new Wing(); //建構函式,初始化鳥類時,例項化Wing;生命週期相同
}
}</span>
聚合(Aggregation):一種弱“擁有”關係,體現了A物件可以包含B物件,但B物件不是A物件的一部分。B可以脫離A單獨存在。生命週期不同
程式碼
<span style="font-size:24px;"> class WideGooseAggregate
{
private WideGoose[] arrayWideGoose; //雁群中有大雁陣列;
}</span>
每一種設計模式,都是用UML圖給出,這些模式的UML圖,就是類與類關係的各種組合,熟悉了基礎,更加有利於後面對程式碼的理解。看到程式碼想到相應的UML圖,掌握每一種模式的UML圖的重點所在,從小入手,各個擊破。
相關文章
- 設計模式-UML關係基礎設計模式
- 設計模式存在哪些關聯關係,六種關係傻傻分不清--- UML圖示詳解設計模式
- 物件導向程式設計程式碼詳解(依賴關係,關聯關係,組合關係)物件程式設計
- Java設計模式(一):設計模式概述、UML圖、設計原則Java設計模式
- Javascript 設計模式之物件導向與 UML 類圖JavaScript設計模式物件
- 不懂程式碼?沒關係,照樣可以做SaaS軟體開發
- Java設計模式-類之間的關係Java設計模式
- UML類圖--類之間的關係
- 【設計模式】設計模式學習筆記之(一)——類圖、物件之間的關係及設計模式概要設計模式筆記物件
- ReactJS &Flux &Redux 的設計思想與關係ReactJSRedux
- 五分鐘看懂UML類圖與類的關係詳解
- 實驗1:UML與物件導向程式設計原則物件程式設計
- 設計模式:代理模式是什麼,Spring AOP還和它有關係?設計模式Spring
- Linux socke server程式設計:父程式和子程式關係LinuxServer程式設計
- Python程式設計:探索有趣的程式碼設計模式Python程式設計設計模式
- 設計模式例項程式碼設計模式
- 在EFCore中多對多關係的設計資料插入與查詢
- 物件導向設計的設計模式(一):建立型模式(附 Demo & UML類圖)物件設計模式
- [程式設計]UML語言:理論之光與實踐之惑程式設計
- SQL 程式設計思想:一切皆關係SQL程式設計
- 物件導向設計的設計模式(三):行為型模式(附 Demo & UML類圖)物件設計模式
- 物件導向設計的設計模式(二):結構型模式(附 Demo & UML類圖)物件設計模式
- tensorflow與python版本對應關係Python
- Verilog程式碼和FPGA硬體的對映關係(五)FPGA
- Verilog程式碼和FPGA硬體的對映關係(四)FPGA
- 淺談OOCSS、SMACSS、BEM三種設計模式與前端架構優化的關係CSSMac設計模式前端架構優化
- 3.python程式設計與計算機的關係,如何執行python檔案Python程式設計計算機
- 設計模式之高質量程式碼設計模式
- 好程式設計師淺談大資料與Hadoop有什麼關係程式設計師大資料Hadoop
- 走近設計模式:寫程式碼一定要用設計模式嗎?設計模式
- 【Linux網路程式設計】Reactor模式與Proactor模式Linux程式設計React模式
- 【程式碼簡述設計模式】----- 觀察者模式設計模式
- Elasticsearch依賴與Spring對應關係ElasticsearchSpring
- RabbitMQ與Erlang的版本對應關係MQ
- 一文掌握介面卡設計模式,UML圖解原始碼簡單易懂設計模式圖解原始碼
- 資料庫表中一對多關係怎麼設計?資料庫
- 人人都能學會的python程式設計教程4:關係運算子與迴圈Python程式設計
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- 設計模式不得不知道的 UML 類圖設計模式