国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)于繼承?的評論 (共 條)

分享到微博請遵守國家法律
乌兰县| 富阳市| 女性| 华蓥市| 集贤县| 鄄城县| 贡山| 拜泉县| 天柱县| 那坡县| 台山市| 文安县| 都安| 越西县| 乐都县| 涪陵区| 南乐县| 西乌珠穆沁旗| 南木林县| 大悟县| 云和县| 龙口市| 西平县| 林西县| 安宁市| 德惠市| 米林县| 烟台市| 塔河县| 油尖旺区| 淮阳县| 容城县| 扶沟县| 武鸣县| 杭锦后旗| 钟祥市| 乌鲁木齐市| 尼玛县| 文安县| 平山县| 上饶县|