1

如果我有一个数据库类,并将该类的一个实例传递给其他类的构造函数,它是否仍然只使用一个连接,还是会创建与我传递给它的构造函数一样多的连接?

4

1 回答 1

2

一般来说,传递给函数或分配给变量(不使用clone)的对象会增加引用计数,但不会创建另一个实例。

如果一个对象被克隆,所有的属性都被复制到一个新的对象中;标量属性将被复制,其他属性(对象、资源)将增加引用计数。

结论

假设您已经创建了数据库类的单个实例,并且数据库连接在构造函数中创建一次并存储在属性中,传递它不会导致打开多个连接。

于 2012-11-19T07:36:48.450 回答