【问题标题】:Accessing private from static method in PHP从 PHP 中的静态方法访问私有
【发布时间】:2013-03-08 18:32:35
【问题描述】:

为什么会这样?我的意思是,访问私有变量。

类测试{ 私人 $q = 0; 公共函数 __construct() { $this->q = 1; } 公共静态函数 EpicConstruct() { $test = 新的自我(); $test->q = 2; 返回$测试; } } $test = Test::EpicConstruct();

【问题讨论】:

标签: php oop static-methods


【解决方案1】:

因为您在正确的上下文中访问成员,即:定义私有成员的类。

【讨论】:

  • 所以我可以用这种方式处理这个类的任何对象?我想我现在了解装饰器模式的工作原理。谢谢!
  • @smsteel 只要是同一类:是的。对于装饰器模式,与其说是:装饰器是一个扩展类的类,还是更典型地扩展/实现一个公共超类型(一些基类或接口)。前一种装饰器只能访问至少为protected 的成员,后者只能访问类的public 成员(或超类型的protected 成员)。
猜你喜欢
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 2015-12-29
  • 2011-07-04
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多