http://hi.baidu.com/ywchen/blog/item/565bee03a8e412ed08fa939c.html
http://blog.youkuaiyun.com/hwz119/archive/2008/05/09/2423534.aspx
http://www.diybl.com/course/3_program/c++/cppjs/20090403/163772.html
http://www.cnblogs.com/zhenyulu/articles/36462.html
向上转型是将把一个派生类当作它的基类使用
在有名的OOD的设计原则中有一个叫做里氏代换原则(Liskov Substitution Principle, LSP)。
它的实质也就是讲向上转型。它的内容是:
任何接收父类型的地方,都应当能够接收子类型,
换句话说如果使用的是一个基类的话,那么一定适用于其子类,
而且程序察觉不出基类对象和子类对象的区别。LSP是继承复用的基石,
只有当派生类可以替换掉基类,软件的功能不受到影响时,基类才能真正被复用
创建型模式关注的是对象的创建,
创建型模式将创建对象的过程进行了抽象,
也可以理解为将创建对象的过程进行了封装,
作为客户程序仅仅需要去使用对象,
而不再关心创建对象过程中的逻辑。
下面我们对简单工厂模式进行总结。
使用简单工厂的好处是:
1、充分利用了多态性不管什么具体产品都返回抽象产品。
2、充分利用了封装性,内部产品发生变化时外部使用者不会受到影响。
他的缺点是:如果增加了新的产品,就必须得修改工厂(Factory)。
抽象工厂模式可以向客户端提供一个接口,
使得客户端在不必指定产品的具体类型的情况下,
创建多个产品族中的产品对象。这就是抽象工厂模式的用意
采用工厂的方法可以抽象对象产生的过程
1.静态工厂方法统一管理对象的创建。
静态工厂方法通过传入的参数判断决定创建哪一个产品的实例,
封装了对象的创建,客户端只管消费,实现了对责任(模块)的分割。
2.静态工厂方法推迟了产品的实例化。