質問を説明できるすべての用語をそのまま持っているかどうかはわかりませんが、疑問に思っていることを説明する方法は次のとおりです。
クラス A と、そのメソッドで A からのデータを使用する 2 番目のクラス B があるとします。
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
}
}
私が興味を持っているのは、一般論として、次のようなことを行う方が良いと考えられるかどうかです。
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
}
}
どのアプローチを使用するかについてコンセンサスはありますか? もしそうなら、あるアプローチを他のアプローチよりも好む理由は何ですか?