面向?qū)ο螅ㄒ唬?/h2>

基礎(chǔ)

一.面向?qū)ο蟪绦蛟O(shè)計的特點

1.封裝(encapsulation)
  • 屬性私有:對外提供公有的getter/setter
  • public:公有;private:私有;protected:受保護的
  • 例如:樹類(封裝了它的價格,名字,給其提供了getter/setter,讓其共有化)
    。 封裝


    封裝.png

    。提供getter/setter


    提供.png
2.繼承(succession)
3.多態(tài)(polymorphic)

二.類之間的關(guān)系

1.縱向關(guān)系:比較清晰
  • 繼承:父子關(guān)系——extends
  • 實現(xiàn):類對接口的實現(xiàn)——implements
2.橫向關(guān)系:取決于語義
  • 依賴
    。雙方的地位往往是獨立平等的(地位)
    。 是偶爾的、臨時性的、不頻繁的(依賴程度)
    代碼層面的表現(xiàn)形式而言,往往是局部的變量
    。類B以參數(shù)的形式傳入類A的方法。
    。類B以局部變量的形式存在于類A的方法中。
    。類A調(diào)用類B的靜態(tài)方法。
  • 工人和出租車
  • 關(guān)聯(lián)
    。雙方的地位往往是獨立的、平等的(地位)
    。是長期的、穩(wěn)定的、頻繁的(依賴程度)
    代碼層面的表現(xiàn)形式而言,關(guān)聯(lián)往往以全局屬性的形式存在
  • 程序員和電腦
  • 聚合
    。雙方的地位不是平等的,是整體和部分之間的關(guān)系(地位)
    是長期的、穩(wěn)定的、頻繁的,這種關(guān)系比關(guān)聯(lián)更強,以至于在形式上出現(xiàn)了整體和部分之間的關(guān)系。整體和部分都有自己的生命周期,一方的消失另外一方不會跟著消失。(依賴程度)
    。代碼層面的表現(xiàn)形式而言可參考關(guān)聯(lián)
  • 公司和員工
  • 組合
    。雙方的地位不是平等的,是整體和部分之間的關(guān)系(地位)
    比聚合更強,部分的生命周期取決于整體,部分隨著整體的消失而消失(依賴程度)
    。代碼層面的表現(xiàn)形式而言可參考關(guān)聯(lián)
    區(qū)分是聚合還是組合的核心點是在生命周期
  • 小鳥和眼睛

大家的理解

微信圖片_20181122134039.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng)你愛上一個人, 你就會不停地排除你的標(biāo)準(zhǔn), 直到?jīng)]有標(biāo)準(zhǔn)只有愛。
    戚布爾閱讀 119評論 0 0
  • 今天參加了上午的一天的招聘會,,有意向面試了21人,有6位入圍。90后,即將畢業(yè)生居多!(來單位最多的是保險業(yè),互...
    真心愛禮閱讀 237評論 0 4
  • 昨天接到大學(xué)室友兼閨蜜雞蛋的電話,一開口還是正常語氣問:在忙嗎,就是想和你說說話。我還沒來得及反應(yīng),對面便傳來...
    呆呆家小菇?jīng)?/span>閱讀 433評論 0 0

友情鏈接更多精彩內(nèi)容