<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                #### 模板設計模式 - 模板方法設計模式: - 定義:編寫一個抽象父類,該父類提供了多個子類的通用方法,并把一個或多個抽象方法留給子類去實現,這就是模板設計模式; 解決的問題:當功能內部一部分實現時確定,一部分實現是不確定的。這時可以把不確定的部分暴露出去,讓子類去實現。 - 示例1 ~~~ abstract class GetTime{ public final void getTime(){ //此功能如果不需要復寫,可加final限定 long start = System.currentTimeMillis(); code(); //不確定的功能部分,提取出來,通過抽象方法實現 long end = System.currentTimeMillis(); System.out.println("毫秒是:"+(end-start)); } public abstract void code(); //抽象不確定的功能,讓子類復寫實現 } class SubDemo extends GetTime{ public void code(){ //子類復寫功能方法 for(int y=0; y<1000; y++){ System.out.println("y"); } } } ~~~ - 模板模式應用的簡單規則: 1.抽象父類可以只定義需要使用的某些方法,其余留給子類去實現; 2.父類提供的方法只是定義了一個通用算法,其實現必須依賴子類的輔助; - 如果父類的方法不想被子類覆寫,那么可以在前面加上final關鍵字修飾。 - 示例2 ~~~ //抽象類中包含很多的抽象方法,子類必須去覆寫! abstract class Method{ abstract double mul();//返回值類型如果是void的話,下面報錯,因為沒有返回值,無法引用! abstract double divid(); void show(){ System.out.println("面積是:"+mul());//周長 System.out.println("面積是:"+divid());//面積 } } class Square extends Method{ double d; public Square(double d) { super(); this.d = d; } @Override double mul() { return d * d; } @Override double divid() { return 4 * d; } } class Cirle extends Method{ double r; public Cirle(double r) { super(); this.r = r; } @Override double mul() { return 2 * 3.14 * r; } @Override double divid() { return 3.14 * r * r; } } public class Demo16 { public static void main(String[] args) { Square s = new Square(5); s.show(); Cirle c = new Cirle(4); c.show(); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看