最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

圖像和聲音文件(5)

2022-02-04 00:01 作者:喬知洛  | 我要投稿

4.除非所有繼承的方法都有意義,否則不要使用繼承。

Calendar類的實例表示,因此可以使用繼承。

class Holiday extends GregorianCalendar (...)

add,這個方法可以將假日轉(zhuǎn)換成非假日:

Holiday christmas;

christmas.add(Calendar.DAY_OF _MONTH,12);

因此,繼承對于這個例子來說并不太適宜。

周能,能不說真能e就不會出現(xiàn)這個問題。由于這個Loeaoate類是不可是所以沒有任何方法能夠把假日變成非假日。

5.在覆蓋方法時,不要改變預(yù)期的行為。

答換原用不僅應(yīng)用于消法,更重要的是,它也適用于行為。在覆蓋一個方法的時候,應(yīng)該毫無緣由楚改變它的行為。就這一點而言,編譯器不會提供任何幫助,即編譯器不會查重新定義的方法是否有意義。例如,可以重新定義toliday類中的add方法來“修正”這個方法的問題,可能什么也不做,或者拋出一個異常,或者是前進(jìn)到下一個假日。然而,這樣一個“修正”違反了替換原則。對于以下語句序列

int dl = x.get(Calendar.DAY_OF _MONTH);

x.add(Calendar.DAY OF MONTH, 1);

int d2 = x.get(Calendar.DAY_OF MONTH);

System.out.println(d2-d1);

不管×的類型是GregorianCalendar還是Holiday,執(zhí)行上述語句后都應(yīng)該得到預(yù)期行為。當(dāng)然,這是個難題。理智和不理智的人們可能就預(yù)期行為是什么爭論不休。例如,有些人爭論說,替換原則要求Manager.equals忽略bonus字段,因為Employee.equals就忽略了這個字。實際上,憑空討論這些問題毫無意義。歸根結(jié)底,關(guān)鍵在于在子類中覆蓋方法時,不要離最初的設(shè)計想法。

6.使用多態(tài),而不要使用類型信息。

只要看到類似下面的代碼

if (x is of type 1)

action1(x);


圖像和聲音文件(5)的評論 (共 條)

分享到微博請遵守國家法律
崇信县| 枞阳县| 延长县| 长兴县| 凤庆县| 瑞安市| 泰宁县| 清流县| 新宁县| 安新县| 高雄市| 小金县| 高青县| 青川县| 汉寿县| 长寿区| 六枝特区| 敦化市| 吉木乃县| 清水河县| 马龙县| 吉安县| 墨竹工卡县| 简阳市| 三河市| 辛集市| 峨眉山市| 沽源县| 民和| 县级市| 城步| 汉寿县| 韶山市| 仲巴县| 武清区| 广河县| 曲松县| 山阳县| 麦盖提县| 胶州市| 林州市|