<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 關聯,聚合和組合 > 原文: [https://howtodoinjava.com/oops/association-aggregation-composition/](https://howtodoinjava.com/oops/association-aggregation-composition/) 關聯,聚合和組合是類在面向對象編程中可以具有的三種關系。 讓我們了解它們之間的區別。 ```java Table of Contents 1\. Association 2\. Aggregation 3\. Composition 4\. Summary ``` ## 1\. Java 關聯 我們稱其為**關聯**的關系,這些關系的**對象具有獨立的生命周期**,而在對象之間沒有**所有權**。 讓我們以老師和學生為例。 多個學生可以與一個老師聯系,一個學生可以與多個老師聯系,但是兩者都有自己的生命周期(可以獨立創建和刪除); 因此,當教師離開學校時,我們不需要刪除任何學生,而當學生離開學校時,我們不需要刪除任何老師。 ![association](https://img.kancloud.cn/c6/36/c6363f28a3ebf50259d2ced346476125_454x102.png) ## 2\. Java 聚合 我們將那些**對象具有獨立生命周期但有所有權**且子對象不能屬于另一個父對象的關系稱為**聚合**。 讓我們以手機和手機電池為例。 一塊電池可以屬于一部電話,但是如果該電話停止工作,并且我們從數據庫中刪除了該電池,則由于該電池仍可以工作,因此不會刪除該電池。 因此,總的來說,盡管擁有所有權,但是對象具有自己的生命周期。 ![aggregation](https://img.kancloud.cn/71/89/718937b6ffcaa99452ba726a3449d3ce_454x102.png) ## 3\. Java 組合 我們使用術語**組合**來指代其對象**沒有獨立生命周期**的關系,而*如果刪除了父對象,則所有子對象也將被刪除*。 讓我們以問題和答案之間的關系為例。 單個問題可以有多個答案,并且答案不能屬于多個問題。 如果我們刪除問題,答案將自動刪除。 ![composition](https://img.kancloud.cn/d8/90/d890223583b02a5fca982b6894297923_454x102.png) ## 4\. 總結 有時,決定我們應該使用關聯,聚合還是組合可能是一個復雜的過程。 造成此困難的部分原因是聚合和組合是關聯的子集,這意味著它們是關聯的特定情況。 ![Association, Aggregation and Composition Relationship](https://img.kancloud.cn/54/4c/544c2e165eef92d524aff19f8b2a0d4d_378x378.png) 關聯,聚合和構成關系 將我的問題放在評論部分。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看