我有一个对象,我正在传递一个方法调用.假设我使用的语言只允许您通过引用传递对象,如Java或PHP.如果方法更改了对象,则会影响调用者.我不希望这种情况发生.所以我似乎需要制作一个对象的副本.
我的问题是:克隆对象的责任是什么?调用者在调用方法之前?或者被调用者,在它改变对象之前?
编辑:只是为了澄清,我希望这是这个方法的合同的一部分 - 它永远不会修改原始对象.因此,似乎应该由制作副本的方法决定.但是,调用者无法保护不能正确执行此操作的方法.我想这是可以接受的 - 唯一的另一种选择似乎就是把它融入到语言中.
归档时间: |
|
查看次数: |
330 次 |
最近记录: |