世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
意图在方法中定义一套处理事务的通用逻辑,某些步骤交由子类实现。主要作用还是代码复用。类图
实例 interface Tmp { void play(); } static abstract class AbsTmp implements Tmp { public void play() { init(); start(); end(); } abstract void init(); abstract void start(); abstract void end(); } static class Tmp1 extends AbsTmp { @Override void init() { System.out.println("Tmp1::init"); } @Override void start() { System.out.println("Tmp1::start"); } @Override void end() { System.out.println("Tmp1::end"); } } static class Tmp2 extends AbsTmp { @Override void init() { System.out.println("Tmp2::init"); } @Override void start() { System.out.println("Tmp2::start"); } @Override void end() { System.out.println("Tmp2::end"); } } 测试 public static void main(String[] args) { Tmp tmp1 = new Tmp1(); tmp1.play(); Tmp tmp2 = new Tmp2(); tmp2.play();}
运行结果:
Tmp1::initTmp1::startTmp1::endTmp2::initTmp2::startTmp2::end 想看更多吗?请访问:设计模式