java - 类成员与函数参数

标签 java c++ class

我有一个关于如何使用面向对象语言(例如 C++)设计类的问题。在许多情况下,变量可以分配给类成员或函数参数。我举以下例子来阐明我的观点:

class MyClass
{
public:
  int variable1;
  int variable2:
  MyClass (int vr1, int vr2)
  {
     variable1 = vr1;
     variable2 = vr2;
   }
  bool perform_one_task()
  {
    // do something
    return true;
  }
}

当我们要使用这个类时,可以使用如下代码:

  int a,b;
  MyClass mine(a,b);
  mine.perform_one_task();

也可以设计一个没有variable1variable2的类。

    class MyClass
    {
    public:

      bool perform_one_task(int variabl1, int variable2)
      {
        // do something
        return true;
      }
    }

在这个类中,variable1variable2 不是类的成员,而是成为函数的参数。我的问题是在哪种情况下第一种设计策略更可取,在哪种情况下第二种设计模式更好。给出的例子只是假设variable1variable2的结构很小,但是如果它们很大呢,比如variable1可能是一个很大的数据数组。

最佳答案

当你需要在类实例生命周期的其他地方使用值时,你应该使用第一个模式(成员):否则,如果你只需要在方法中使用值,你应该使用第二个模式

关于java - 类成员与函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211249/

相关文章:

java - 两个类具有相同的 XML 类型名称

java.lang.NoClassDefFoundError : org/apache/commons/lang/Validate 错误

java - 相当于 Grails 中的 chain.doFilter

c++ - C++ 标准库中 `at()` 索引函数的真实用例?

javascript - es6 类方法内的 "This"

php - 构造函数与太多的获取和设置

java - 对 Swing 组件的反射(reflection)

c++ - 计算构成给定 IP 范围的子网列表

c++ - 无法从 GetSystemTime() 获取毫秒数

python - Python 类中的全局变量和局部变量