①UML设计:
②定义:定义一个抽象类,将部分逻辑以具体方法的形式实现,声明一些抽象方法来迫使子类实现剩余的逻辑,不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。
③示例:
/** * 构建一个pc接口 */ public interface Computer{ void start(); }
/** * 构建抽象模板 */ public abstract class AbstractComputer implements Computer{ @Override public void start(){ //判断是否已经开机 if(!isStarted()){ return; } firstStep(); secondStep(); } private boolean isStarted(){ System.out.println("已经开机"); return true; } protected abstract void firstStep(); protected abstract void secondStep(); }
/** * 具体实现类 */ public class Lenovo extends AbstractComputer{ @Override public void firstStep(){ System.out.println("show lenovo"); } @Override public void secondStep(){ System.out.println("show lenovo music"); } }
/** * 具体实现类 */ public class MacPro extends AbstractComputer{ @Override public void firstStep(){ System.out.println("show macPro"); } @Override public void secondStep(){ System.out.println("show macPro music"); } }
public class Test{ public static void main(String args[]){ Computer cp = new MacPro(); cp.start(); } }