【发布时间】:2019-07-04 10:09:00
【问题描述】:
我有两个类,A 类和 B 类,我正在尝试通过 A 类中的函数访问 B 类。
目前,我可以通过在 A 类的函数内部创建 B 类的新实例来做到这一点,但我想知道是否有办法做到这一点,而无需在内部创建 B 类的新实例A级的。
这是我想做的一个例子:
class a{
function a(){
return $this->b();
}
}
class b extends a{
function b(){
return "It Works!";
}
}
$doIt = new a();
echo $doIt->a();
【问题讨论】:
-
这样不行。您不能实例化 A 并访问方法 B。您可以实例化 B 并访问 A 中的方法。
-
那么从 A 实例化 B 是唯一的选择吗?
-
你为什么要这样做?你的目标是什么?也许我们可以提出一个更好的方法来完成它?您建议的方式似乎打破了 oop 模型。
-
嗯,A 不知道 B,但 B 知道 A。你可以使用 A,但它不知道 B。
-
基本上我有 B 类与数据库一起使用,A 类将用户在网站上的操作连接到 B 类。所以用户做了一些事情->A 类开始工作->将信息传递给B 类添加到数据库。看起来这似乎不太可能,但我知道有些人的知识比我多得多,所以我想看看是否有其他人知道这样做的方法。