- C++設(shè)計(jì)模式
- 李陽陽
- 346字
- 2024-09-10 16:38:36
1.2.2 繼承泛化關(guān)系
繼承泛化關(guān)系就是常說的繼承關(guān)系,派生類繼承基類,基類被看作“一般設(shè)計(jì)”,派生類被看作“特殊設(shè)計(jì)”,因此繼承泛化關(guān)系也被看作一般與特殊的關(guān)系,在UML類圖中用“實(shí)線+實(shí)心箭頭”表示,其中箭頭指向基類。
例如,動(dòng)物類會(huì)走路、吃東西和發(fā)聲,貓類和狗類繼承動(dòng)物類,貓類會(huì)爬樹而狗類會(huì)看門,并且它們發(fā)聲的方式也不一樣。用UML類圖表示的動(dòng)物類、貓類和狗類的關(guān)系如圖1-3所示。

▲圖1-3 繼承泛化關(guān)系
圖1-3說明了繼承泛化關(guān)系的UML類圖的組成,基類動(dòng)物類Animal含有保護(hù)(protected)類型的成員變量animalName和animalColor,走路方法OnFoot()和吃東西方法Eat()是動(dòng)物的共性,不同的發(fā)聲方式Say()被定義為虛接口。派生類貓類Cat和狗類Dog繼承自動(dòng)物類Animal,實(shí)現(xiàn)具體的Say()方法;并且Cat類有自身獨(dú)有的爬樹方法OnTree(),Dog類有自身獨(dú)有的看門方法LookDoor(),這樣就完成了繼承并且實(shí)現(xiàn)了擴(kuò)展的功能。
推薦閱讀
- Java入門經(jīng)典(第6版)
- Learning RxJava
- 程序員面試筆試寶典
- Vue.js 3.0源碼解析(微課視頻版)
- Linux網(wǎng)絡(luò)程序設(shè)計(jì):基于龍芯平臺(tái)
- Troubleshooting PostgreSQL
- SQL Server 2016數(shù)據(jù)庫(kù)應(yīng)用與開發(fā)習(xí)題解答與上機(jī)指導(dǎo)
- Scala編程實(shí)戰(zhàn)(原書第2版)
- Clojure Reactive Programming
- 常用工具軟件立體化教程(微課版)
- Scratch3.0趣味編程動(dòng)手玩:比賽訓(xùn)練營(yíng)
- GameMaker Essentials
- Android嵌入式系統(tǒng)程序開發(fā):基于Cortex-A8(第2版)
- Machine Learning for Developers
- 從Excel到Python數(shù)據(jù)分析:Pandas、xlwings、openpyxl、Matplotlib的交互與應(yīng)用