|
關(guān)注+星標(biāo)公眾號,不錯過精彩內(nèi)容來源 | 嵌入式情報(bào)局
先問下大家:你覺得嵌入式需要面向?qū)ο缶幊虇幔?/strong>
嵌入式系統(tǒng)是否需要面向?qū)ο缶幊蹋∣OP)并不是一個絕對的問題,因?yàn)樗Q于具體的應(yīng)用場景、系統(tǒng)要求、開發(fā)團(tuán)隊(duì)的偏好以及所使用的編程語言和工具等因素。
面向?qū)ο缶幊淌且环N編程范式,它通過將數(shù)據(jù)(屬性)和操作數(shù)據(jù)的方法(行為)封裝成一個獨(dú)立的對象,來提高軟件的可維護(hù)性、可擴(kuò)展性和可重用性。
下面就來分享一下面向?qū)ο箢愔g主要的幾種關(guān)系。1、類之間的關(guān)系 類在面向?qū)ο蟪绦蛟O(shè)計(jì)中是一個非常重要的概念,是一系列具有相同屬性和方法的對象抽象,那么弄明白類之間的主要關(guān)系對于面向?qū)ο蟪绦蛟O(shè)計(jì)建模起到了指導(dǎo)意義。
類之間關(guān)系主要分為如下幾種:
wo4irrgzkix64027730843.png (55.07 KB, 下載次數(shù): 11)
下載附件
保存到相冊
wo4irrgzkix64027730843.png
2024-9-20 07:12 上傳
下面對類的這幾種關(guān)系進(jìn)行詳細(xì)描述:
2、實(shí)現(xiàn)關(guān)系 類之間的實(shí)現(xiàn)關(guān)系主要是用于描述接口與類或者組件之間的關(guān)系,該接口是操作和方法的集合,提供給類使用。
這樣不同的類通過統(tǒng)一的接口以自己的方式來進(jìn)行實(shí)現(xiàn)。
45dvazqgc0l64027730943.png (22.34 KB, 下載次數(shù): 11)
下載附件
保存到相冊
45dvazqgc0l64027730943.png
2024-9-20 07:12 上傳
在C++語言中體現(xiàn)實(shí)現(xiàn)關(guān)系主要通過virtual虛函數(shù)來表達(dá),而接口是通過純虛函數(shù)來表達(dá)。
3、泛化關(guān)系 泛化其實(shí)也叫做繼承關(guān)系,在學(xué)習(xí)C++編程語言中應(yīng)該是對其非常了解了。
glk5ydrfg1164027731043.png (34.38 KB, 下載次數(shù): 11)
下載附件
保存到相冊
glk5ydrfg1164027731043.png
2024-9-20 07:12 上傳
比如子類繼承父類的相關(guān)屬性和方法。
4、依賴關(guān)系 依賴關(guān)系更多的一種使用關(guān)系,比如某人要去上班,那么他需要依賴于一種交通工具,可以是公交車、可以是同事的車等等。
在程序中通常一個類是另外一個類的參數(shù)或者返回值等等。
35clqznf1rg64027731143.png (22.81 KB, 下載次數(shù): 12)
下載附件
保存到相冊
35clqznf1rg64027731143.png
2024-9-20 07:12 上傳
5、關(guān)聯(lián)關(guān)系 關(guān)聯(lián)算是復(fù)雜一點(diǎn)的關(guān)系形式,主要有一般關(guān)聯(lián)、聚合和組合。關(guān)聯(lián)關(guān)系的兩個類更多的是處于一種平等的位置,而非從屬關(guān)系。
通常在C++中一個類作為另外一個類的成員變量,這種叫單向關(guān)聯(lián),如果我中有你,你中有我,則是一種雙向關(guān)聯(lián)等等。
ayuuv32ysif64027731243.png (20.15 KB, 下載次數(shù): 12)
下載附件
保存到相冊
ayuuv32ysif64027731243.png
2024-9-20 07:12 上傳
聚合關(guān)系是一種整體與部分的關(guān)系,但是整體與部分可以分開獨(dú)立存在,部分可以添加到整體,也可從整體中移出。
0gu4uxpj50o64027731344.png (19.91 KB, 下載次數(shù): 11)
下載附件
保存到相冊
0gu4uxpj50o64027731344.png
2024-9-20 07:12 上傳
而組合關(guān)系也是一種整體與部分的關(guān)系,但其關(guān)聯(lián)性更強(qiáng),兩者不可分開,且具有統(tǒng)一的生命周期,同生死共存亡。
arlrlm5kcmm64027731444.png (21.25 KB, 下載次數(shù): 12)
下載附件
保存到相冊
arlrlm5kcmm64027731444.png
2024-9-20 07:12 上傳
舉個例子,電腦的可以使用不同品牌的內(nèi)存條,那么其可以看成聚合的關(guān)系,而一個人與嘴巴的關(guān)系,這種關(guān)聯(lián)性更強(qiáng)的屬于組合關(guān)系,屬于生命一體。
------------ END ------------
nuhw5okd0wo64027731544.jpg (259.49 KB, 下載次數(shù): 11)
下載附件
保存到相冊
nuhw5okd0wo64027731544.jpg
2024-9-20 07:12 上傳
FreeRTOS編碼標(biāo)準(zhǔn)及規(guī)范
qoajsippme264027731644.jpg (320.46 KB, 下載次數(shù): 11)
下載附件
保存到相冊
qoajsippme264027731644.jpg
2024-9-20 07:12 上傳
63歲還能干嵌入式嗎?
ytv3ukguoor64027731744.jpg (230.7 KB, 下載次數(shù): 10)
下載附件
保存到相冊
ytv3ukguoor64027731744.jpg
2024-9-20 07:12 上傳
嵌入式代碼常見的容錯設(shè)計(jì)
|
|