将对象或值传递给函数

本文关键字:函数 值传 对象 | 更新日期: 2023-09-27 18:15:05

由于原问题被认为无法回答,本问题已被编辑为询问一个特定的例子。

如果一个应用程序需要显示各种对象(包括相似的和继承的对象)的信息,那么最好将基类对象传递给显示函数,并允许它查询对象来决定显示什么数据;还是应该按值传递每个字段。按值传递的优点是不需要直接依赖于它们所表示的对象,从而使显示(UI)与业务规则对象隔离。

将对象或值传递给函数

一般来说,您应该传递方法完成其工作所需的最少数量的信息。例如,如果一个方法在给定一个人的出生日期的情况下计算其年龄,则不需要传入整个person对象,只需要该人的出生日期和当前日期。

通过遵循上面的方法,您可以保持您的方法松散耦合,这使得它们更易于维护。

在您的情况下,您必须权衡是否需要访问这些方法中基类的大量字段,还是只需要访问少数字段。如果有很多字段,那么传递整个对象可能更有意义。这是一种平衡行为,既要有良好的耦合(请参阅本回答的第一部分),同时又要避免向方法传递大量参数。