类只有静态字段和方法是不好的做法吗?

2024-04-04

我有一堂课,其中包括only静态成员变量和静态方法。本质上,它充当通用实用程序类。

类只包含静态成员变量和静态方法是不好的做法吗?


不,我一点也不这么认为。拥有一个充满实例方法的类是更糟糕的做法,而这些实例方法实际上并不依赖于特定实例。使它们静态告诉用户它们的用途。此外,您还可以通过这种方式避免不必要的实例化。

编辑:作为事后的想法,一般来说,我认为避免使用语言功能“只是因为”,或者因为你认为这是“Java 的方式来做到这一点”是很好的。我记得我的第一份工作中,我有一个充满静态实用方法的类,一位高级程序员告诉我,我没有通过将所有方法设置为“全局”来充分利用 Java 的 OO 功能。 6个月后她就不再加入团队了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类只有静态字段和方法是不好的做法吗? 的相关文章

  • 这是依赖注入吗?这是一种不好的做法吗?

    我有一个小框架 我是这样编码的 我不确定这是否称为依赖注入 我不知道它是否像设计模式 我也不知道并且想知道是否通过 this因为 param 是一种不好的做法 看看这个 不是一个有效的示例 只是将这些代码写入浏览器中以供解释 This is
  • Delphi:写入后代类中私有祖先的字段

    我需要修复第三方组件 该组件的类具有私有变量 该变量由其后代主动使用 TThirdPartyComponentBase class private FSomeVar Integer public end TThirdPartyCompone
  • 一个类应该验证自身还是创建另一个类来验证它?

    假设我有一堂课 class NavigationData float roll float pitch double latitude double longitude 如果我想创建一个方法 const bool validate cons
  • C++:获取器和设置器?

    我正在尝试编写一些代码来为以下数据的 ID 号 名字 姓氏 期中成绩和期末成绩创建 getter 和 setter 这些数据位于我正在编写的班级的文本文件中 10601 ANDRES HYUN 88 91 94 94 89 84 94 84
  • 动态创建类 - Python

    我需要动态创建一个类 为了更详细地讲 我需要动态创建 Django 的子类Form class 通过 动态 我打算根据用户提供的配置创建一个类 e g 我想要一个名为CommentForm这应该子类化Form class 该类应该有一个选定
  • R参考类问题

    我正在尝试在 R 中创建一个简单的参考类 这是我的代码 R 初学者 MyClass lt setRefClass MyClass fields list a numeric b numeric methods list initialize
  • 静态字符串文字表?

    在 C 中创建全局静态字符串表的正确方法是什么 我所说的 全局 是指 可从包含标头的任何文件中使用 但不是某些运行时创建的单一对象的一部分 我所说的 静态 是指 尽可能少地设置运行时间 只读内存页中的数据 每个应用程序只有 1 个数据实例
  • 如何为类本身(而不是类的实例)选择自定义字符串表示形式?

    考虑这个类 class foo object pass 默认的字符串表示形式如下所示 gt gt gt str foo
  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • 在javascript中访问函数内的实例变量?

    如何以最简单的方式访问函数内的实例变量 function MyObject Instance variables this handler Methods this enableHandler function var button doc
  • C++中有没有办法让派生类重写基类静态方法?

    我有一个多次派生的基类 B D1 D2 等 在类 B 中 我希望有一个静态方法 getInfo 它返回一个 BaseInfo 类 基本上是一个包含类 B 的默认成员值的类 因此将其设为静态是有意义的 因为不需要特定的实例 现在 有没有办法强
  • 类函数/变量在使用之前是否必须声明?

    所以我在学习课程时偶然发现了一些对我来说相当尴尬的事情 class Nebla public int test printout return x void printout printout2 private int x y void p
  • 如何决定使用 IS A 还是 HAS A Relation

    public class B public String getMe return Some 假设我有一个上面的类 我们应该通过哪些参数来决定使用什么 是否是一个或有一个关系 HAS A public class A public stat
  • 类方法作为 JavaScript 中的事件处理程序?

    JavaScript 中是否有最佳实践或通用方法将类成员作为事件处理程序 考虑以下简单示例
  • 自定义类的重写 bool() [重复]

    这个问题在这里已经有答案了 我想要的只是 bool myInstance 返回 False 并且 myInstance 在 if or and 等条件下计算为 False 我知道如何覆盖 gt 我试过这个 class test def bo
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • Swift 中的字典是否应该转换为类或结构?

    我正在开发一个本机 iOS 应用程序 该应用程序从我们也可以控制的 Web 服务接收 JSON 格式的数据 该计划是在大约 18 个月内更换后端数据库 以支持不同的平台 考虑到这一点 我们希望确保 iOS 应用程序能够相对容易地适应新的数据
  • Ruby/Rails - 如何创建类并从控制器访问它

    我一直在尝试使用一些不同的 gem 在 Rails 3 中显示谷歌地图 但遇到了一些问题 幸运的是我发现了这个https github com YouthTree bhm google maps https github com Youth
  • 如何在 PHP >= 5.3 严格模式下向对象添加属性而不产生错误

    这必须很简单 但我似乎找不到答案 我有一个通用的 stdClass 对象 foo没有属性 我想添加一个新属性 bar尚未定义 如果我这样做 foo new StdClass foo gt bar 1234 严格模式下的 PHP 会抱怨 将属

随机推荐

  • 以 Fortran 连续顺序重塑 numpy.array

    我有一个如下所示的数组 from numpy import a array 1 2 3 4 5 6 7 8 9 我想得到如下结果 1 4 7 2 5 8 3 6 9 因为我有一个很大的数组 所以我需要一种有效的方法来做到这一点 最好就地重塑
  • 来自 Blackberry Phonegap 应用程序的 Ajax 请求

    我正在为 Blackberry 操作系统 5 0 及更高版本 创建一个应用程序 我过去没有任何移动开发经验 我创建了一个运行良好的示例应用程序 按照中提到的准则http wiki phonegap com w page 31930982 G
  • 基于 php 示例的 C++ 中数据结构的多态性示例

    我正在学习多态 并且熟悉php 我发现了这个很好的例子https stackoverflow com a 749738 80353 https stackoverflow com a 749738 80353 转载如下 如何用 C 编写相同
  • 调用 C 子例程时出现 JNI 错误

    我想从 Java 调用 C 子例程 我正在使用 JNI 我创建了 java c 和 h 文件 并编译了 DLL 所有文件都在同一个文件夹中 但是当我运行该程序时 它显示unsatisfiedlinkError 我哪里出错了 在学习JNI时
  • 更新某些类别的左列/如何在布局文件中设置类别 ID

    我想要一个在左侧显示某些类别幻灯片的块 但是 我通过引用布局文件中的左列 在所有页面中显示了幻灯片放映块 我们需要幻灯片仅出现在左侧的某个类别 id 225 中 到目前为止我的解决方案路线图 1 将特定类别 url 重写到我的自定义模块 控
  • Xcode 4.5 无法在模拟器或设备上运行/加载应用程序

    我在 2007 年中的 Mac Mini 上运行 OS X Lion 10 7 5 上的 Xcode 4 5 我之前遇到过这个问题 当我构建时 模拟器和实际设备都不会运行应用程序 我正在使用 Phonegap 2 1 HTML JS Jqu
  • Recharts CompedChart 从零开始 X 轴刻度

    我正在使用 ComdedChart 和 shoing 条形图和线条 通常该线应从 x 轴的 0 处开始 但是当使用组合图表时无法做到这一点 如果您在上图中观察到勾选a应该从 x 轴开始 x 轴和 y 轴开始的 0 点 但事实并非如此 这是我
  • Matlab - 多维数据的PCA分析与重构

    我有一个大型多维数据集 132 维 我是数据挖掘的初学者 我想使用 Matlab 来应用主成分分析 不过 我看到网上有很多功能解释 但我不明白它们应该如何应用 基本上 我想应用 PCA 并从我的数据中获取特征向量及其相应的特征值 在此步骤之
  • 使用 XIB 实例化视图

    我有一个按照以下指南创建的 xib 如何创建自定义 iOS 视图类并实例化它的多个副本 在 IB 中 https stackoverflow com questions 9251202 how do i create a custom io
  • 如何在R中处理hdf5文件?

    我有一个文件在hdf5格式 我知道它应该是一个矩阵 但我想在其中读取该矩阵R这样我就可以研究它 我看到有一个h5r包应该有助于解决这个问题 但我没有看到任何简单易读 理解的教程 网上有这样的教程吗 具体来说 你如何阅读hdf5这个包的对象
  • 使用 REST API 更新 JIRA 票证状态

    我可以使用 CURL 命令并方便地使用 json 数据在 JIRA 中创建票证 curl D u X POST data H Content Type application json http rest api 2 issue 我现在尝试
  • 为什么 pack 和 grid 会覆盖父窗口小部件的预定义尺寸?

    我注意到每次创建 Tkinter 小部件并在小部件实例化期间或通过设置其尺寸时配置 http effbot org tkinterbook tkinter widget configuration htm稍后添加 一旦我添加 最后这些就不会
  • 这里使用持久ID来解决什么pickle问题?

    From https docs python org 3 library pickle html persistence of external objects https docs python org 3 library pickle
  • 如何定义分层数据结构的DDD聚合根?

    我目前正在尝试将领域驱动设计原则应用于我的开发实践 我一直致力于如何为按层次结构组织的数据定义聚合根 我们以文件夹结构为例 每个文件夹可以有 0 N 个子文件夹 子文件夹 0 N 也可以有 0 N 个子文件夹 依此类推 我对文件夹及其所有直
  • 将标签分配给相应的网格单元

    我从头开始编写了一个 YOLO 模型 并有一个 numpy 数组 如下所示 1 0 1 0 4 0 3 0 2 0 1 1 1 0 0 2 0 3 0 4 0 5 0 0 0 0 0 0 0 这就是它在 pandas 对象中的样子 Obj
  • 导入错误:无法导入名称“语言”

    我正在尝试运行 python 脚本 但收到此错误 from iso639 import languages ImportError cannot import name languages 我已经安装了iso639 但仍然出现此错误 任何想
  • 如何在 PHP 中从 ipinfo.io 获取位置?

    我在用ipinfo io http ipinfo io使用 PHP 获取我当前的城市 位置 但是 使用这段代码时我无法看到我的城市 ipaddress SERVER REMOTE ADDR function ip details ip js
  • Rails:如何限制 has_many 关联中的项目数量(来自父级)

    我想限制协会中的项目数量 我想确保用户拥有的东西不超过 X 件 这个问题之前被问过 https stackoverflow com questions 7863618 rails 3 1 limit user created objects
  • flutter 使用 url_launcher uri 发送电子邮件

    我正在使用 url launcher 在我的应用程序中使用系统电子邮件发送电子邮件 我正在使用下面的代码 这个人做得很好 void launchEmailSubmission async final Uri params Uri schem
  • 类只有静态字段和方法是不好的做法吗?

    我有一堂课 其中包括only静态成员变量和静态方法 本质上 它充当通用实用程序类 类只包含静态成员变量和静态方法是不好的做法吗 不 我一点也不这么认为 拥有一个充满实例方法的类是更糟糕的做法 而这些实例方法实际上并不依赖于特定实例 使它们静