【发布时间】:2019-08-10 17:51:21
【问题描述】:
我有以下类结构。 A 类是从 B 类和 C 类的构造函数中调用的。
Class A
{
A()
}
Class B
{
B()
{
A();
}
}
Class C
{
C()
{
A();
}
}
有什么方法可以让我知道对 A() 的调用是来自 B() 还是 C()? 我不想在构造函数中传递任何对象。
【问题讨论】:
-
不是直接的。让 A 的行为依赖于使用它的类可能是不好的做法——下次你想从一个完全不同的类中使用 A 时,你会感到惊讶。最好通过参数将所有输入传递给构造函数,这样 A 的工作原理就很明显,并且可以很容易地被其他类使用(可重用性!)。