1
2
$this传递给在其上下文中调用该方法的对象。所以:$a->getname()是$a。$fooInstance->getname()中的$fooInstance是$fooInstance。如果设置了$this(在对象$a的方法调用中),并且我们调用了一个静态方法,$this仍然被分配给$a。 似乎使用这个特性会产生很多混乱。:) |
2
7
foo::getname()使用的是旧的php4样式 scope resolution operator 允许调用重写的方法。 在php5中,您将使用 parent :改为:getname()。 如果您希望扩展,而不是完全重写基类的行为,这是很有用的,例如,这可能会使它更清晰。
|
3
4
如果调用绑定到另一个对象的静态方法,该方法将在当前对象的上下文中执行。允许访问$this对象。 从子类内部调用超类方法的更好方法是:
|
4
1
当你打电话
我不确定它在PHP中是否有效,但是如果您
铸造
超类的对象,如
|
5
1
有时程序员用代码比用英语更好地解释事情! 这里首先讨论的是重载的概念。当您实例化BAR时,它的getname()方法将重载foo中同名的方法。 超载是OOD的一个重要组成部分。 但是,调用父类(foo)中存在的方法版本通常很有用。 下面是一个例子:
显然,这是一个非常狭隘的例子,但它说明了一点。 基类是类型的最一般的实现。在本例中,它是“dog”,您希望将信息放入该类型的所有实例都通用的基类中。这可以防止每个派生类中的重复(如“skip”)。 您的脚本可能无意中利用了这个特性。 |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |