設(shè)計(jì)模式之模板方法模式-創(chuàng)新互聯(lián)

通過AB卷來簡單梳理模板方法模式

學(xué)生時(shí)代考試時(shí),經(jīng)常涉及到AB卷,假如現(xiàn)在需要出兩套試卷,試題及答案有差異但不大,這個(gè)時(shí)候該如何設(shè)計(jì)呢?
我們可以用模板方法模式來考慮這個(gè)問題。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及成都橡塑保溫等,在成都網(wǎng)站建設(shè)、全網(wǎng)整合營銷推廣、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。模板方法模式實(shí)現(xiàn) 定義試卷基類

首先定義一個(gè)試卷基類,方便真實(shí)的試卷來繼承公用的部分

public class TestPaper {public void TestQuestion1(){System.out.println("問題1");
        System.out.println("答案1:"+Answer1());
    }
    protected String Answer1(){return "";
    }

    public void TestQuestion2(){System.out.println("問題2");
        System.out.println("答案2:"+Answer2());
    }
    protected String Answer2(){return "";
    }

    public void TestQuestion3(){System.out.println("問題3");
        System.out.println("答案3:"+Answer3());
    }
    protected String Answer3(){return "";
    }
}

定義具體的實(shí)現(xiàn)類

public class TestPaperA extends TestPaper{@Override
    public String Answer1(){return "a";
    }

    @Override
    public String Answer2(){return "b";
    }

    @Override
    public String Answer3(){return "c";
    }
}
public class TestPaperB extends TestPaper{@Override
    public String Answer1(){return "d";
    }

    @Override
    public String Answer2(){return "e";
    }

    @Override
    public String Answer3(){return "f";
    }
}
定義業(yè)務(wù)方法

看在具體業(yè)務(wù)邏輯中如何使用

public class TemplateMethod {public static void main(String[] args) {//模板方法模式
        func1();
    }

    public static void func1(){System.out.println("A試卷:");
        TestPaper paperA = new TestPaperA();
        paperA.TestQuestion1();
        paperA.TestQuestion2();
        paperA.TestQuestion3();

        System.out.println("B試卷:");
        TestPaper paperB = new TestPaperB();
        paperB.TestQuestion1();
        paperB.TestQuestion2();
        paperB.TestQuestion3();
    }
}
執(zhí)行結(jié)果
A試卷:
問題1
答案1:a
問題2
答案2:b
問題3
答案3:c
B試卷:
問題1
答案1:d
問題2
答案2:e
問題3
答案3:f
結(jié)果分析
模板方法模式,定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。
模板方法使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重新定義該算法的某些特定步驟。

https://xmlrambo.github.io/

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁名稱:設(shè)計(jì)模式之模板方法模式-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://muchs.cn/article34/dgehpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)企業(yè)網(wǎng)站制作、小程序開發(fā)網(wǎng)頁設(shè)計(jì)公司、全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)