首先是抽象,抽象是面向对象的基础,抽象做好了面向对象 程序设计的可扩充 可维护 ,可复用才能更好实现。在设计模式中能够将运算类抽象出来是很伟大的行为。
首先将getResult的方法抽出来,到运算类中。
复用运算类,重写运算类的方法,方法体中的内容不一致。
声明了父类Operation运算类,根据传入的运算符的不同去实例化不同的子类对象。
对外提供的都是Oper,实际上是add或者sub或者mul或者div,从外界看来不知道里面是什么。
简单运算工厂类:
同一操作createOperation()方法作用于不同的加减乘除对象,相同的数据但是会产生不同的执行结果,这体现了多态。
客户端代码: