【问题标题】:Can PHP static methods legally have a visibility of protected or private?PHP 静态方法可以合法地具有受保护或私有的可见性吗?
【发布时间】:2011-03-21 04:26:08
【问题描述】:

我意识到可以在 PHP 中将静态类方法定义为私有和受保护的。这允许实例化类或公共静态方法访问它自己的私有/受保护静态方法。

protected static function jumpOver  ()

但是我不确定这在 OOP 设计的意义上是否合法。我找不到任何真实的信息表明可以这样做。我担心如果这不是有效的,PHP 可能会在未来的版本中“修补”它并破坏我的脚本。

【问题讨论】:

  • protected static function 是合法的,它可以用作其他静态方法的辅助方法。

标签: php oop class


【解决方案1】:

是的。静态方法通常只不过是包含您可能不想公开的代码的辅助方法。

我能想到的其他常见的面向对象语言也有(C++、Java、C#)。我真的不认为他们会删除该功能。

此外,PHP 的人在破坏现有功能方面很慢,所以我不会太担心。

【讨论】:

  • uhm...final 不是您要用来保护代码的关键字吗?
  • @dierre: final 防止覆盖/继承,但不保护访问。
  • 哦,好的。抱歉,我认为“拥有您可能不想公开的代码”是指覆盖/继承它的可能性。
猜你喜欢
  • 1970-01-01
  • 2015-11-22
  • 2018-05-23
  • 2010-12-24
  • 1970-01-01
  • 2011-07-09
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多