实现 clone 方法
来源:互联网 发布:积分怎么编程 编辑:程序博客网 时间:2024/05/16 13:05
因为类的实例是引用类型,要想用原有的类中的实例的数据的话,既要想创建原对象的一个副本的话,只能用clone方法。
Clone方法分为深clone和浅clone
在C#中提供了浅clone的方法,即为MemberwiseClone()
C#浅Clone的例子:
using System;
namespace DesignPattern
public class ToolbarButton : ICloneable //实现Clone接口
以上是一个浅clone方法
MemberwiseClone()方法执行的只是浅层拷贝。而深层拷贝要递归的拷贝其字段所引用的所有对象。
public class DeepClone : System.ICloneable
{
Person g;
Person b;
public Object Clone()
{
DeepClone dc = (DeepClone)this.MemberwiseClone();
dc.g = (Person)(this.g.Clone());
dc.b = (Person)(this.b.Clone());
return dc;
}
}
- 实现 clone 方法
- clone方法的实现
- Java Clone方法之懒人实现
- 实现Cloneable接口,重写clone方法
- 82 Java 自定义实现clone() 方法
- 关于如何实现 Object中的clone()方法
- Clone方法
- clone方法
- clone()方法
- Clone方法
- clone()方法
- clone实现
- 不实现Cloneable接口,实现clone()方法功能
- javascript 中Array 常规方法实现( Remove,insertAt,clear,clone)
- C#中Clone方法的链式继承复制实现
- JavaScript深度复制(deep clone)的实现方法
- DataTable.Clone 方法
- C# Clone() 方法
- python 宝典 笔记 第十二章 存储数据和对象 (各种对象转换成字符串)
- Shorthand:Path and lists, and @keywords学习笔记
- 开发自定义控件
- JavaScript 函数调用规则和if条件判断
- 一个项目的失败的原因
- 实现 clone 方法
- SqlServer的更新锁(UPDLOCK)
- 正则表达式的语法
- C#中动态扩展一个新类型的实现
- 如何使用 foreach 访问集合类
- 如何加密Web.Config中的连接字符串
- 求两个字符串的最长的连续公共子串
- .NET 连接池
- Enterprise Library2.0中加密数据库连接字符串