转自大话设计模式:
原型模式解释: 用原型实例指定创建对象的种类, 并且通过拷贝这些原型创建新的对象。
个人理解:
主要就是通过克隆的方法来完成对原型的拷贝,省略了多次实例化对象对内存的开销。可以提高效率
注意事项:
因为克隆的时候是根据字段进行逐位复制,对于基本类型和字符串可以进行复制。对于引用类型是不能直接进行复制的。引用类型也必须要实现对应的clone方法才行。
克隆也分为了浅复制和深复制:
浅复制:被复制的对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都扔指向原来的对象。
深复制:把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象