克隆原型设计模式的功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了克隆原型设计模式的功能?相关的知识,希望对你有一定的参考价值。
OOP中原型设计模式最重要的部分之一是我们不从头开始创建新对象,我们只是使用现有对象中的clone()
函数克隆它们。
那么clone()
功能是深或浅的副本?
如果它是一个深层拷贝,而不是我理解的一切,但如果它是浅的,如果两个不同的对象(一个使用原型模式从另一个创建)观察相同的状态对象,那将是混乱,而不是意味着这些对象没有不同完全(它们是共享的,因为它们共享相同的状态对象)。
任何人都可以向我澄清这种情况吗?
答案
Java Object
clone
方法实现了Prototype
设计模式。使用prototypical
实例创建一个新实例。但clone
只是给你一个浅的副本,它不是一个深刻的副本。所以这是一个危险的副本。如果需要深层副本,则必须明确实现它。 clone
复制原始值,但不复制对象引用。因此原始和克隆都将指向相同的对象引用,如果修改了同一个对象引用,则将对象置于危险状态。
以上是关于克隆原型设计模式的功能?的主要内容,如果未能解决你的问题,请参考以下文章