• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    什么是組合而不是繼承(Composition over Inheritance)?

    復合優先繼承是一種用于面向對象編程語言的編程方法,用于幫助在應用程序中的對象之間建立更為動態和可變的關系。復合優先繼承的基本格式是將一個對象的實例包含在另一個對象中。這很明顯與面向對象的繼承方法不同,但在...
    復合優先繼承是一種用于面向對象編程語言的編程方法,用于幫助在應用程序中的對象之間建立更為動態和可變的關系。復合優先繼承的基本格式是將一個對象的實例包含在另一個對象中。這很明顯與面向對象的繼承方法不同,但在許多模型中可以達到相同的目的。組合優于繼承的優點包括組合對象和包裝對象之間定義良好的邊界,能夠在不影響整個繼承層次結構的情況下更改對象的實現,以及對初始程序設計限制較少的框架。然而,一些復雜的情況可能包括序列化困難和在大型已建立程序中過于復雜的結構。面向對象編程中的手持計算機,在設計過程中需要確定的一個重要特征是不同對象之間的關系。繼承是面向對象編程的一個中心機制,它允許一個對象繼承其父對象的所有數據和方法,然后將其添加到其中,用它自己的實現進行修改或擴展。一個基于繼承的設計示例可以是一個程序,它有一個主類,它定義了一輛汽車,并對所有汽車的一些通用屬性進行了建模。然后,每個汽車品牌的類作為主類的后代,但定義了特定的信息,例如發動機尺寸、燃油容量或特定于該特定品牌汽車的其他信息。組成是通過在其他對象中包含對象實例來表示的。如果有一個主類定義了一個通用汽車,則不必為特定汽車品牌創建子類,主類可以包含更具體地定義汽車的其他對象的實例這可能意味著主car類可以包含一個引擎類型的對象和一個燃料容量的對象,當該類用于創建一個特定品牌汽車的實例時,該對象將被設置。在組合優先于繼承的情況下,主類中包含的對象與主類不直接相關,這給了開發人員改變單個對象工作方式的自由。組合優先于繼承有助于防止繼承樹過于深的情況,這意味著對樹中某個類的任何修改都可能需要沿著樹的長度進行更改。并非所有面向對象的語言都支持多重繼承,組合優先于繼承是一種可以用來解決此限制的方法
    • 發表于 2020-08-07 15:19
    • 閱讀 ( 673 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    推薦文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆