具体说,多态就是基类的指针在调用虚函数成员的时候,运行时系统会根据指针实际指向的对象调用恰当的成员函数。
当一个方法在不同的环境中有不同的实现时,可以使用多态,抽象出一个接口,子类有不同的实现。
多态可以降低耦合度。
举一个实际的例子,在我的项目中,telematics模块下有xm,opertor模块,上层的业务处理流程是类似的,抽象出共同的接口,各个模块有不同的实现方法。
在xm中又有xnweather,xmstock等小机能,在hmicprt接受到消息以后,判断消息的类型,决定实例化哪个小机能,这里用的是工厂模式。
工厂模式的好处是将一部分逻辑判断分离出来用一个单独的工厂类处理。