vb6 或 java 中的对象克隆是什么?我们在什么情况下使用克隆?克隆对象是什么意思?任何人都可以用例子告诉我吗?
克隆实际上是将对象数据复制到新的对象中。
此示例不克隆数据:
Foo p = new Foo();
Foo o = p;
If Foo
有一个会员a
你改变了p.a
then o.a
也发生变化,因为两者p
and o
指向同一个对象。
However,
Foo p = new Foo();
Foo o = p.Clone();
在这种情况下如果你改变p.a
then o.a
保持不变,因为它们实际上指向不同的对象。
实际上有两种不同的克隆方式:浅克隆或深克隆。
浅克隆只是创建一个新对象并将成员复制到新对象中。这意味着如果其中一个成员实际上是指向另一个对象的指针,那么该对象将在旧对象和新对象之间共享。
深度克隆实际上会遍历所有成员并将其克隆到新对象中。这样,对象就是所有数据的完整副本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)