四、对象复制
对象的复制是指把一个现有的对象克隆一份,得到一个新的对象,新老对象是完全独立的。
4.1 对象的浅复制(shallow copy)
使用简单的字段值拷贝方法复制一个对象
4.2 深度复制(Deep Copy)
4.2.1 浅复制的问题
浅复制的问题是无法复制出真正独立的新对象,如下图所示。
4.2.2 对象的深度复制
深度复制(Deep Copy)在复制对象时会把其所包含的内部对象也复制一份,并且这个过程是递归进行的,如下图所示。
4.2.3 深度复制实现方式
- ICloneable接口
通过.Net基类库提供的ICloneable接口实现所有需要实现深度复制的对象。