gpt4 book ai didi

java - 在Java中传递对对象的引用还是传递对象中的单个属性更好?

转载 作者:IT老高 更新时间:2023-10-28 21:04:36 26 4
gpt4 key购买 nike

我正在处理遗留代码,我经常看到来自同一个对象的多个属性的方法调用被传递到一个方法中:

update(user.getID(), user.getLanguage() etc...)

这样做是否有明显的优势或劣势,或者我是否也可以传入用户对象(在这种情况下)并在调用的方法中处理属性?

跟进:

很多很好的答案,谢谢。为问题中缺乏确切的细节而道歉,但正如我所说,这在我正在处理的整个系统中都可以看到,这似乎是一个很好的简单示例。请随时将此问题转为社区 Wiki 问题,因为任何一个答案都不能被其他人接受,因为它们都很好并且有正确的观点。

最佳答案

两者各有优势。我会根据它应该做什么来决定每种方法。不过,对于遗留代码,除非确实存在问题,否则我宁愿不更改任何内容。

pro 几个值,con 对象引用:

  • 您不必绑定(bind)到特定的类,您可以从其他来源传递值
  • 方法不能(出乎意料地)改变对象状态(C++ 可以为此使用“const”)

Pro 传递单个用户对象:

  • 您被绑定(bind)到用户对象,因此很难意外传递不相关/无效的值
  • 很明显,该方法需要用户对象的数据
  • 更改(例如重命名)getter 需要在方法的所有调用中进行更改,而不仅仅是在其实现中进行更改
  • 如果添加了新属性并需要传递,则类似
  • 方法可以改变对象状态

如您所见,根据您的需要,可以将属性视为优势或劣势。

关于java - 在Java中传递对对象的引用还是传递对象中的单个属性更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com