描述
一个抽象类中,有一个主方法,再定义1…n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用
UML

示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| interface ICalculator{ public int calculate(String exp); }
abstract class AbstractCalculator{ public final int calculate(String exp, String opt){ int array[] = split(exp, opt); return calculate(array[0], array[1]); } abstract public int calculate(int a, int b); public int[] split(String exp, String opt){ String array[] = exp.split(opt); int arrayInt[] = new int[2]; arrayInt[0] = Integer.parseInt(array[0]); arrayInt[1] = Integer.parseInt(array[1]); return arrayInt; } }
class Plus extends AbstractCalculator { @Override public int calculate(int a, int b){ return a+b; } } class Minus extends AbstractCalculator { @Override public int calculate(int a, int b){ return a-b; } } class Multiply extends AbstractCalculator { @Override public int calculate(int a, int b){ return a*b; } }
public class Test { public static void printMsg(String msg){ System.out.println(msg); } public static void main(String[] args){ String exp= "2+8"; AbstractCalculator cal = new Plus(); int result = cal.calculate(exp, "\\+"); Test.printMsg(Integer.toString(result)); } }
|