我有一个关于如何使用面向对象语言(例如 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();
也可以设计一个没有variable1
和variable2
的类。
class MyClass
{
public:
bool perform_one_task(int variabl1, int variable2)
{
// do something
return true;
}
}
在这个类中,variable1
和variable2
不是类的成员,而是成为函数的参数。我的问题是在哪种情况下第一种设计策略更可取,在哪种情况下第二种设计模式更好。给出的例子只是假设variable1
和variable2
的结构很小,但是如果它们很大呢,比如variable1
可能是一个很大的数据数组。
最佳答案
当你需要在类实例生命周期的其他地方使用值时,你应该使用第一个模式(成员):否则,如果你只需要在方法中使用值,你应该使用第二个模式
关于java - 类成员与函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211249/