在面向过程的编程中我们常常用 if ,else if, else等语句在过程的一开始就做判断,根据不同的判断去进行不同的操作,这些操作都写在子函数中。
但在面向对象的编程过程中,则不是这样,而是要 尽量推迟这个判断的执行,以防在整个业务流程过程中和这个判断纠葛在一起,对以后可能的修改带来麻烦。并且把不同情况的相同点提取出来 作为一个父类,再利用各种手段(重载,虚函数等)将具体的不同处封装到子类中去。
在子类中执行这些不同,那么以后如果某一种的情况的对应操作改了,我们只要改这个相应的子类就行了
此外还引入工厂模式,方便子类的扩展,即新情况的产生。