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

    什么是混音(Mixin)?

    在計算機程序設計中,mixin是一個由另一個類繼承的類,但它并不打算被實例化。一個類可以繼承多個mixin,因此可以很容易地合并許多函數集合。盡管許多常用編程語言都使用mixin方法,但還有更多的語言沒有使用mixin方法,包括C...
    在計算機程序設計中,mixin是一個由另一個類繼承的類,但它并不打算被實例化。一個類可以繼承多個mixin,因此可以很容易地合并許多函數集合。盡管許多常用編程語言都使用mixin方法,但還有更多的語言沒有使用mixin方法,包括C和Java。一般來說,mixin存在于腳本語言或那些能夠創建腳本的語言中,比如JavaScript和Perl。女人用計算機倒立mixin是獨特的,因為它們在編譯過程中成為子類的一部分。它們的方法和常量包含在子類中。mixin類的另一個獨特特點是可以在運行時定義方法并將其綁定到對象上。大多數語言使用不同的方法、綁定和定義方法是在編譯時而不是在運行時。這種運行時綁定允許mixin非常靈活。多重繼承中的一個常見問題是方法調用的模糊性,mixin可以解決這個問題,因為它們不遵循與多重繼承完全相同的規則。例如,多重繼承可以創建一個所謂的“死亡鉆石”,其中父類a有子類B和C,而類D繼承自類B和C。這種情況下的問題是,類a、B和C中同名的方法都可以繼承到類D中,使同一方法的多個版本沒有明顯的區別。mixin通過保持方法的每個版本不同而解決了這個問題,而不是像在標準多重繼承中那樣試圖覆蓋它們。mixin不會重寫繼承到的類中的方法例如,如果一個類a定義了一個方法“myMethod”,并且繼承了一個定義了方法“myMethod”的mixin B,那么這兩個方法仍然可以毫無歧義地被調用,而“myMethod”在類A中的實現仍然是完全可訪問的,這些方法的調用方式取決于實現mixin的語言,使用接口來模擬它們。這些語言中的接口不能模擬mixin的全部功能,因為接口只能包含常量和方法聲明。另一方面,mixin可以包含方法的完整實現。那些不支持mixin的語言通常都有可行的替代方案,可以加以哄騙做同樣的事情
    • 發表于 2020-08-06 20:15
    • 閱讀 ( 830 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    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>
    久久久久精品国产麻豆