在每次函数调用时创建类的实例vs.将类的实例作为参数传递

本文关键字:实例 参数传递 vs 创建 函数调用 | 更新日期: 2023-09-27 17:50:27

正如题目所说,我想知道哪种方法是正确的。为了澄清我的问题,我想举一个例子。

假设在我的程序的主方法中,我给了一系列的方法调用,这些方法都使用了一个类的实例。所以- - - - - -

  1. 我应该在每次调用的方法体中创建一个该类的实例吗?
  2. 或者我应该在主方法中创建一个类的实例,然后把这个实例作为参数传递给所有从主方法调用的方法。

混乱是因为我从未见过使用第二种方法的任何示例,我认为在第一种方法中处理时间将更多,因为每次我们调用使用该类的方法时都会创建类的实例。

在每次函数调用时创建类的实例vs.将类的实例作为参数传递

这取决于上下文:

  • 有时候你需要在方法之间共享同一个对象,因为创建实例的计算成本很高拥有同一个对象的多个实例是错误的(想想

  • 有时您需要一次又一次地创建对象,即使有高计算成本,因为它是解决问题的正确方法(哈希,OCR,搜索,解压缩等)。

  • 大多数情况下,创建另一个实例的成本可以忽略不计,您可以将模块化和良好的代码放在第一位。