五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【熟】代碼美學(xué):組合為何優(yōu)于繼承?

2023-09-09 14:10 作者:陳云Cyril  | 我要投稿

Prefer Composition Over Inheritance

這兩件事是為了解決同一個問題——代碼復(fù)用

繼承的缺點在于子類和基類發(fā)生耦合

公共的部分 ->作為基類。

但是你很快就會發(fā)現(xiàn)特例需要修改

不通過繼承來復(fù)用代碼就是在組合

使用多個類進行組合

Re_use ; Extending, Using

Abstraction ;Parent Classes Interface

抽象可以復(fù)用代碼,但不需要知道具體復(fù)用的是誰。拿到的是一個局部

繼承 讓使用者拿到某個類的實例,但是實際上傳進來的是子類的實例;

一切都正常運作,但整體上都已經(jīng)面目全非了。

默認的協(xié)議要求子類至少實現(xiàn)了這些方法

接口不像完整的類有各種方法和變量

給出了一份,對象的能力的協(xié)議。接口是最小化的。

?
08:08
?

將要用的東西以接口形式作為參數(shù)傳進來

The Cons of Composition 缺點

需要初始化各種內(nèi)部類型。大量的重復(fù)代碼大量的包裝方法。


組合可以減少對象之間的接觸面。

減輕修改帶來的摩擦力。

少量修改時繼承會好用。但需要避免能直接訪問的protected變量

顯式創(chuàng)建需要重寫且能訪問的API

final/ sealed/private 密封methods方法被標記成避免不了解子類而修改出現(xiàn)bug

【熟】代碼美學(xué):組合為何優(yōu)于繼承?的評論 (共 條)

分享到微博請遵守國家法律
磐石市| 林西县| 霞浦县| 缙云县| 壤塘县| 玉门市| 和平县| 奉化市| 富锦市| 福州市| 莱州市| 霍山县| 小金县| 荔波县| 昌宁县| 萨迦县| 墨竹工卡县| 平顺县| 稷山县| 历史| 高雄县| 叶城县| 区。| 罗平县| 巩留县| 华蓥市| 隆安县| 东乡县| 乌兰察布市| 西乌珠穆沁旗| 盘山县| 图片| 邛崃市| 长岛县| 厦门市| 新营市| 尼玛县| 泗水县| 阜康市| 寿宁县| 涿鹿县|