成员克隆是否比创建新对象便宜

本文关键字:对象 新对象 是否 创建 成员 | 更新日期: 2023-09-27 18:36:56

我正在阅读有关原型创建设计模式的信息,并发现了一条信息,指出克隆对象比通过调用新运算符创建新对象更便宜。

这是真的吗,如果是,为什么会这样?

谢谢

成员克隆是否比创建新对象便宜

克隆确实需要创建一个新对象,因此您不会在初始化的创建部分节省太多。但是,您可以节省初始化的其他元素:

  • 如果对象需要填充集合,并且构造函数采用未知数量的元素,则克隆例程可以通过预先调整集合大小来节省一些处理。
  • 如果对象在其构造函数中创建不可变对象,则原型可以将对自己对象的引用直接设置到生成的对象中。由于这些引用的内部对象是不可变的,因此可以共享它们。这样,您的系统将节省创建这些依赖对象的时间。