<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    范例(Examples)
    class IntRange {
        private int _low, _high;
       
        boolean includes(int arg) {
           return arg >= _low && arg <= _high;
        }

        void grow(int factor) {
           _high = _high * factor;
        }

        IntRange(int low, int high) {
           _low = low;
           _high = high;
        }
    為了封裝_low和_high這兩個(gè)值域,我先定義[取值/設(shè)值函數(shù)](如果此前沒有定義的話),并使用它們:
    class IntRange {
        private int _low, _high;
       
        boolean includes(int arg) {
           return arg >= _low && arg <= _high;
        }

        void grow(int factor) {
           _high = _high * factor;
        }

        int getLow() {
           return _low;
        }

        int getHigh() {
           return _high;
        }

        void setLow(int arg) {
           _low = arg;
        }

        void setHigh(int arg) {
           _high = arg;
        }
    使用本項(xiàng)重構(gòu)時(shí),一般說來,設(shè)值函數(shù)被認(rèn)為應(yīng)該在[對(duì)象創(chuàng)建后]才使用,所以初始化過程中的行為有可能與設(shè)值函數(shù)的行為不同。這種情況下,我也許在構(gòu)造函數(shù)中直接訪問值域,要不就是建立另一個(gè)獨(dú)立的初始化函數(shù):
    IntRange(int low, int high) {
        initialize(low, high);
    }
    private void initialize(int low, int high) {
        _low = low;
        _high = high;
    }
    一旦你擁有一個(gè)subclass,上述所有動(dòng)作的價(jià)值就體現(xiàn)出來了。如下所示:
    class CappedRange extends IntRange {
        CappedRange(int low, int high, int cap) {
           super(low, high);
           _cap = cap;
        }

        private int _cap;

        int getCap() {
           return _cap;
        }
        
        int getHigh() {
           return Math.min(super.getHigh(), getCap());
        }
    }
    現(xiàn)在,我可以CappedRange class中覆寫getHigh(),從而加入對(duì)cap的考慮,而不必修改IntRange class的任何行為。
    posted on 2005-08-31 15:57 ivaneeo 閱讀(221) 評(píng)論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 九九免费精品视频在这里| 丁香花在线观看免费观看图片| fc2免费人成在线视频| 67pao强力打造高清免费| 国产片免费在线观看| 亚洲激情在线视频| 国产成+人+综合+亚洲专| 一区二区三区精品高清视频免费在线播放 | 成年免费大片黄在线观看岛国 | 中文字幕无码亚洲欧洲日韩| 亚洲免费日韩无码系列| 国产v精品成人免费视频400条| 亚洲最大AV网站在线观看| 亚洲人成图片网站| 最近中文字幕大全免费版在线| 暖暖日本免费在线视频| 亚洲国产第一页www| 免费国产黄网站在线观看动图| 9久9久女女免费精品视频在线观看| 黑人大战亚洲人精品一区| 亚洲日韩一区二区三区| 人妻无码一区二区三区免费| 亚洲国产成人影院播放| 中文字幕精品三区无码亚洲 | 男男AV纯肉无码免费播放无码| 亚洲午夜福利717| 亚洲av午夜国产精品无码中文字| 日本在线看片免费人成视频1000| 亚洲精品NV久久久久久久久久| 亚洲一区二区三区高清不卡| 久久久久久国产精品免费免费男同| 免费在线不卡视频| 国产 亚洲 中文在线 字幕| 国产精品99精品久久免费| 亚洲国产成人久久综合区| 精品日韩99亚洲的在线发布| 免费日本一区二区| jlzzjlzz亚洲乱熟在线播放| 色欲色欲天天天www亚洲伊| 中文字幕影片免费在线观看| 久久综合亚洲鲁鲁五月天|