//父抽象类提供几个方法实现业务逻辑 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! */ } }
|