代码之家  ›  专栏  ›  技术社区  ›  mmundiff

静态函数/类..推理?[复制品]

  •  0
  • mmundiff  · 技术社区  · 16 年前

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

    我现在在用PHP。

    我正在研究两组函数。

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

    在这个类中,我不需要属性,因为每个函数/方法或多或少都是一个实用程序。因此,我使类的函数都是静态的。

    我有几个问题要问。

    1)使用静态方法有什么好处?我理解,由于没有对象,所以处理开销较低。我也听说这是微不足道的(视情况而定)。

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

    谢谢

    1 回复  |  直到 16 年前
        1
  •  5
  •   zombat    16 年前

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

    实用方法无疑是静态使用的一个很好的候选者,因为它们通常很短,不需要状态。其他一些指导方针可能是:

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