我有一个关于如何使用面向对象语言(如 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
and的类variable2
。
class MyClass
{
public:
bool perform_one_task(int variabl1, int variable2)
{
// do something
return true;
}
}
在这个类variable1
中variable2
并不是类的成员而是成为函数的参数。我的问题是第一种设计策略在哪种情况下更可取,第二种设计模式在哪种情况下更好。给定的示例仅假设 和 的结构variable1
很小variable2
,但如果它们很大,例如,variable1
可能是一个大型数据数组。