【发布时间】:2010-05-03 21:21:25
【问题描述】:
我在 PHP 中扩展类时遇到了一些问题。 已经在谷歌上搜索了一段时间。
$a = new A();
$a->one();
$a->two();
// something like this, or...
class A {
public $test1;
public function one() {
echo "this is A-one";
$this->two();
$parent->two();
$parent->B->two();
// ...how do i do something like this (prepare it for using in instance $a)?
}
}
class B extends A {
public $test2;
public function two($test) {
echo "this is B-two";
}
}
我对程序 PHP 没问题。
【问题讨论】:
-
您能准确解释一下您完成后希望完成的工作吗?看起来您可能正在尝试以一种从未想过的方式通过继承来完成某些事情....
-
嗨,谢谢。 - 我想从实例 a 访问函数 two()。 - 希望所有类中的 $this-> 都引用实例 a。 (+ 编辑了第三个命令)是您可以使用的描述吗?谢谢,弗兰克
-
继承/
extends不是这样工作的,Fffff。class B extends A定义了一个 new 类类型,B,它具有 A 的所有功能,还包括您添加到B的任何新内容。它不会让A里面有更多的东西。 -
那么扩展意味着什么,就您如何访问它们而言?
-
你不能“访问”它们——你创建了一个
B类型的对象。$b = new B();然后$b将同时拥有$b->one()和$b->two(),因为B继承了A的one()方法,还为B对象添加了two()方法。
标签: php class variables parent