//父抽象類提供幾個方法實現業務邏輯 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! */ } }
|