我不确定我是否拥有所有能够直接描述问题的术语,但我将如何描述我想知道的内容:
假设我有 A 类和第二个 B 类,它在其方法中使用来自 A 的数据
class A
{
data1
data2
etc...
}
class B
{
some_data
method1
{
// do stuff with some_data and A.data1, A.data2
}
method2
{
// do other stuff with some_data and A.data1, A.data2
}
}
我很好奇的是,一般来说,做类似的事情是否被认为更好:1。
class B
{
B(A *a)
{
this->a_ptr = a;
}
A *a_ptr
some_data
method1()
{
// do stuff with a_ptr->data1, a_ptr->data2
}
method2()
{
// do other stuff with a_ptr->data1, a_ptr->data2
}
}
相对
2.
class B
{
some_data
method1(A *a)
{
// do stuff with a->data1, a->data2
}
method2(A *a)
{
// do other stuff with a->data1, a->data2
}
}
是否就使用哪种方法达成共识?如果是这样,选择一种方法而不是另一种方法的原因是什么?