【问题标题】:Static Functions / Classes.. Reasonsing? [duplicate]静态函数/类..推理? [复制]
【发布时间】:2011-01-07 00:33:44
【问题描述】:

可能重复:
When should I use static methods in a class and what are the benefits?

我现在正在使用 PHP。

我正在研究两组函数。

我有一个由日期处理函数组成的类。

在这个类中,我不需要属性,因为每个函数/方法或多或少都是一个实用程序。因此,我已将班级的所有功能设为静态。

这里有几个问题。

1) 使用静态方法有什么好处?我知道处理开销较低,因为没有对象。我也听说这可以忽略不计(取决于)。

2) 除了实用程序之外,还有哪些其他类型的函数/方法适合“静态”?

谢谢

【问题讨论】:

标签: php static


【解决方案1】:

使用静态方法的关键概念是它们绑定到一个类,而不是类的实例。一个好的指导原则是**任何需要状态的东西都不适合静态使用*。

实用程序方法绝对是静态使用的理想选择,因为它们通常很短并且不需要状态。其他一些准则可能是:

  • 输入和输出互不依赖。
  • 该方法没有上下文,也就是说,将它与对象的实例相关联是没有意义的。
  • 方法/变量不需要区分对象,只需要一个声明即可。这主要适用于静态类变量,例如在所有实例化对象之间共享的计数器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 2011-12-28
    相关资源
    最近更新 更多