php 延迟静态绑定: static关键字
2013-10-31 11:02
495 查看
abstract class DomainObject { public static function create() { return new self(); } } class User extends DomainObject {} class Document extends DomainObject {} print_r(Document::create());
以上代码运行失败,因为 self 被解析为 DomainObject,将 self 换为 static
abstract class DomainObject { public static function create() { return new static(); } } class User extends DomainObject {} class Document extends DomainObject {} print_r(Document::create());
运行成功,浏览器输出为
Document Object ( )
static 类似于 self,但它指的是被调用的类而不是包含类
相关文章推荐
- PHP面向对象:延迟静态绑定(static关键字)
- php5.3 延迟静态绑定 static关键字
- php面对对象之延迟静态绑定:static关键字
- PHP面向对象:延迟静态绑定(static关键字)
- 【学习点滴-php】static关键字---延迟静态绑定
- PHP延迟静态绑定:static关键字
- php的魔术方法__get(),__set(),__call(),__callStatic()以及static延迟静态绑定
- 4.5 延迟静态绑定:static 关键字 《深入PHP:面向对象、模式与实践》
- php Late Static Bindings延迟静态绑定
- php static延迟静态绑定
- PHP Static延迟静态绑定用法分析
- 理解 PHP 延迟静态绑定 (late static bindings)
- [转]PHP5.3_延迟静态绑定_static
- PHP Static延迟静态绑定用法分析
- PHP Static延迟静态绑定
- php的魔术方法__get(),__set(),__call(),__callStatic()以及static延迟静态绑定
- php static延迟静态绑定
- php static延迟静态绑定
- php面向对象的static关键字
- PHP变量关键字global/$GLOBAL[]/static