0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

類在面向對象程序設計中的幾種關系

strongerHuang ? 來源:嵌入式情報局 ? 作者:情報小哥 ? 2022-09-16 09:07 ? 次閱讀

1、類之間的關系

類在面向對象程序設計中是一個非常重要的概念,是一系列具有相同屬性和方法的對象抽象,那么弄明白類之間的主要關系對于面向對象程序設計建模起到了指導意義。

類之間關系主要分為如下幾種:

5bb0500a-3557-11ed-ba43-dac502259ad0.png

下面對類的這幾種關系進行詳細描述:

2、實現(xiàn)關系

類之間的實現(xiàn)關系主要是用于描述接口與類或者組件之間的關系,該接口是操作和方法的集合,提供給類使用。

這樣不同的類通過統(tǒng)一的接口以自己的方式來進行實現(xiàn)。

5bee5ad0-3557-11ed-ba43-dac502259ad0.png

C++語言中體現(xiàn)實現(xiàn)關系主要通過virtual虛函數(shù)來表達,而接口是通過純虛函數(shù)來表達。

3、泛化關系

泛化其實也叫做繼承關系,在學習C++編程語言中應該是對其非常了解了。

5c33479e-3557-11ed-ba43-dac502259ad0.png

比如子類繼承父類的相關屬性和方法。

4、依賴關系

依賴關系更多的一種使用關系,比如某人要去上班,那么他需要依賴于一種交通工具,可以是公交車、可以是同事的車等等。

在程序中通常一個類是另外一個類的參數(shù)或者返回值等等。

5c8283ae-3557-11ed-ba43-dac502259ad0.png

5、關聯(lián)關系

關聯(lián)算是復雜一點的關系形式,主要有一般關聯(lián)、聚合和組合。關聯(lián)關系的兩個類更多的是處于一種平等的位置,而非從屬關系。

通常在C++中一個類作為另外一個類的成員變量,這種叫單向關聯(lián),如果我中有你,你中有我,則是一種雙向關聯(lián)等等。

5cb91fa4-3557-11ed-ba43-dac502259ad0.png

聚合關系是一種整體與部分的關系,但是整體與部分可以分開獨立存在,部分可以添加到整體,也可從整體中移出。

5cda2de8-3557-11ed-ba43-dac502259ad0.png

而組合關系也是一種整體與部分的關系,但其關聯(lián)性更強,兩者不可分開,且具有統(tǒng)一的生命周期,同生死共存亡。

5d009dde-3557-11ed-ba43-dac502259ad0.png

舉個例子,電腦的可以使用不同品牌的內(nèi)存條,那么其可以看成聚合的關系,而一個人與嘴巴的關系,這種關聯(lián)性更強的屬于組合關系,屬于生命一體。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1931

    瀏覽量

    34553
  • C++語言
    +關注

    關注

    0

    文章

    147

    瀏覽量

    6954

原文標題:面向對象類之間的幾種關系

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    第5章 MATLAB程序設計.ppt

    第5章 MATLAB程序設計
    發(fā)表于 10-24 16:40 ?0次下載

    java子類可以繼承父的什么

    Java是一種面向對象的編程語言,它支持繼承的概念。繼承是面向對象編程的三大特性之一,它允許一個(稱為子類或派生
    的頭像 發(fā)表于 08-20 11:02 ?799次閱讀

    最簡單的C程序設計

    電子發(fā)燒友網(wǎng)站提供《最簡單的C程序設計.pptx》資料免費下載
    發(fā)表于 05-28 16:41 ?9次下載

    算法-程序設計的靈魂

    電子發(fā)燒友網(wǎng)站提供《算法-程序設計的靈魂.pptx》資料免費下載
    發(fā)表于 05-28 16:39 ?3次下載

    程序設計基礎教程

    電子發(fā)燒友網(wǎng)站提供《程序設計基礎教程.pptx》資料免費下載
    發(fā)表于 05-28 16:37 ?1次下載

    三種Mock測試方案的應用與實踐總結

    面向對象程序設計,模擬對象(英語:mock object,也譯作模仿
    的頭像 發(fā)表于 04-28 17:50 ?1392次閱讀
    三種Mock測試方案的應用與實踐總結

    java實現(xiàn)多線程的幾種方式

    Java實現(xiàn)多線程的幾種方式 多線程是指程序包含了兩個或以上的線程,每個線程都可以并行執(zhí)行不同的任務或操作。Java的多線程可以提高程序
    的頭像 發(fā)表于 03-14 16:55 ?552次閱讀

    vb運行時錯誤429不能創(chuàng)建對象

    系統(tǒng)已經(jīng)安裝了對象所依賴的組件或庫。如果缺少這些組件或庫,就會導致不能創(chuàng)建對象的錯誤。解決這個問題的方法是安裝所需的組件或庫。 對象
    的頭像 發(fā)表于 01-09 11:07 ?2094次閱讀

    基于C/C++面向對象的方式封裝socket通信流程簡析

    掌握了基于 TCP 的套接字通信流程之后,為了方便使用,提高編碼效率,可以對通信操作進行封裝,本著有淺入深的原則,先基于 C 語言進行面向過程的函數(shù)封裝,然后再基于 C++ 進行面向對象
    的頭像 發(fā)表于 12-26 10:00 ?1695次閱讀

    基于C/C++面向對象的方式封裝socket通信

    掌握了基于 TCP 的套接字通信流程之后,為了方便使用,提高編碼效率,可以對通信操作進行封裝,本著有淺入深的原則,先基于 C 語言進行面向過程的函數(shù)封裝,然后再基于 C++ 進行面向對象
    的頭像 發(fā)表于 12-26 09:57 ?1267次閱讀

    javascript規(guī)定了幾種語言類型

    和移動應用程序。JavaScript的靈活性和易用性使其成為開發(fā)人員最喜愛的編程語言之一。本文將詳細介紹JavaScript的幾種語言類型。 首先,JavaScript是一種基于原型的面向對象
    的頭像 發(fā)表于 12-03 11:37 ?740次閱讀

    java源程序是由定義組成的嗎

    Java源程序是由定義組成的。Java是用來定義對象的一種結構化方式。一個
    的頭像 發(fā)表于 11-28 16:36 ?606次閱讀

    一個java源程序中允許有多個公共

    Java是一種面向對象的編程語言,它的特點之一是允許一個源程序包含多個公共。這是因為Java的
    的頭像 發(fā)表于 11-28 16:32 ?986次閱讀

    this可以出現(xiàn)在方法

    是的, this 關鍵字可以出現(xiàn)在方法。Java, this 是一個引用,用于引用當前對象的實例。它可以
    的頭像 發(fā)表于 11-28 16:24 ?1290次閱讀

    趣味程序設計入門

    電子發(fā)燒友網(wǎng)站提供《趣味程序設計入門.pdf》資料免費下載
    發(fā)表于 11-20 10:36 ?0次下載
    趣味<b class='flag-5'>程序設計</b>入門