模板模式

//父抽象類提供幾個方法實現業務邏輯

public abstract class Software {

 

abstract void initialize();

 

abstract void start();

 

abstract void end();

}

 

 

//瀏覽器軟件提供詳細的實現

public class Browser extends Software {

 

@Override

void initialize() {

// TODO Auto-generated method stub

System.out.println("Browser Initialized!");

}

 

@Override

void start() {

// TODO Auto-generated method stub

System.out.println("Browser Started!");

}

 

@Override

void end() {

// TODO Auto-generated method stub

System.out.println("Browser end!");

}

 

}

 

 

//編輯軟件提供詳細的實現

public class Editor extends Software {

 

@Override

void initialize() {

// TODO Auto-generated method stub

System.out.println("Editor Initialized!");

}

 

@Override

void start() {

// TODO Auto-generated method stub

System.out.println("Editor Started!");

}

 

@Override

void end() {

// TODO Auto-generated method stub

System.out.println("Editor End!");

}

 

}

 

 

//不同的軟件通過繼承父抽象類的模板方法提供詳細實現

public class Main {

public static void main(String[] args){

Software s1 = new Browser();

s1.start();

s1.initialize();

s1.end();

s1 = new Editor();

s1.start();

s1.initialize();

s1.end();

/**Browser Started!

Browser Initialized!

Browser end!

Editor Started!

Editor Initialized!

Editor End!

*/

}

}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章