如果我有两个类 A、B,其中一个不扩展另一个类,它们是独立的,但都加载到脚本中,我仍然可以从 B 引用 A 中的函数吗?
class A {
function one() {
echo "Class A";
}
}
class B {
function two() {
echo "Class B";
A::one();
}
}
$a new A;
$b = new B;
$b->two();
最佳答案
从表面上看,是的,你可以做到这一点。但是,类 A
中的函数 one()
需要声明为 static
才能使调用表示法正常工作。 (这使其成为类方法。)
代码最后几行建议的另一种选择是让实例 $b
调用实例 $a
中的函数。此类函数称为实例方法,是您通常与对象交互的方式。要访问这些方法,必须将它们声明为 public
。声明为 private
的方法只能由该类内的其他方法调用。
有多种方法可以在代码中调用实例方法。这些是明显的两个,您可以将 $a
作为参数传递给函数,或者您可以在方法中创建类 A
的实例。
你到底想要实现什么目标?
关于php - 从类 2 调用类 1 的函数而不扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100757/