【问题标题】:Is static method violate the OOP? [closed]静态方法是否违反 OOP? [关闭]
【发布时间】:2011-10-12 02:29:14
【问题描述】:

我认为没有必要解释 OOP 的优点是什么。但是我想知道讨论静态方法是否违反了OOP设计?或者更OOP的方法是让一个单例来做这样的静态方法?

【问题讨论】:

  • relevant: stackoverflow.com/questions/752758/… 此外,静态方法通常会导致单元测试更加困难。最后——单例只是用另一个名字来定义全局变量。
  • 请记住,Stack Overflow 与 Jeopardy 非常相似。你必须把你的问题表达成一个可以回答的问题。 Stack Overflow 不是一个讨论论坛,所以要求讨论是行不通的。

标签: oop static


【解决方案1】:

我想知道静态方法有什么危害,坚持面向对象的纯洁性有什么目的。

这个问题及其答案与任何其他关于面向对象纯度以及特定语言属于连续统一体的论点一样有意义。

C# 和 Java 都支持与类而不是特定实例相关联的方法和属性的概念。

单例在设计中的利弊已经详细探讨过elsewhere

【讨论】:

    【解决方案2】:

    如果静态方法在 OOP 范式中被认为是不好的做法,那么它们就不会存在。静态方法有时是绝对必要的,如果你知道如何使用它们的话。如果您的方法不使用或更改类对象的任何成员,那么它本质上是静态的。

    【讨论】:

    • “如果静态方法在 OOP 范式中被认为是不好的做法,那么它们就不会存在”...您对语言设计更有信心,证据似乎证明了这一点。
    • ^ 我猜你在学校学过 Java。
    猜你喜欢
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多