我有一个关于良好编程风格的问题。我有一组方法正在处理我的程序流程。这些函数使用来自另一个类的对象。制作一个名为类似的类Functions
并列出我在那里拥有的这些功能是否可以?不会创建此类的单个实例。我是否应该完全不将这些函数包含在一个类中?基本上他们会做诸如打开主菜单之类的事情。
不知道这是不是一个愚蠢的问题,我在这个论坛上找不到任何类似的话题。我不是在问如何做到这一点,而是在风格上如何处理它。
提前非常感谢。
我有一个关于良好编程风格的问题。我有一组方法正在处理我的程序流程。这些函数使用来自另一个类的对象。制作一个名为类似的类Functions
并列出我在那里拥有的这些功能是否可以?不会创建此类的单个实例。我是否应该完全不将这些函数包含在一个类中?基本上他们会做诸如打开主菜单之类的事情。
不知道这是不是一个愚蠢的问题,我在这个论坛上找不到任何类似的话题。我不是在问如何做到这一点,而是在风格上如何处理它。
提前非常感谢。
这正是命名空间的用途。当它们不适合时,不要试图将它们插入“OOP 方式”。如果你的设计说你永远不会创建一个类类型的对象,那么它就不是一个类,只是一个函数的集合。
在阅读您的问题时,我立即想到了 Java 中的 Math 类(不确定 C++ 的等价物是什么)。你可能知道,它基本上是数学运算的集合。数学课
在我看来,您在问题中谈论的那种类必须具有“一般函数集合”的目标,类似于数学类。打开菜单之类的事情应该是该菜单或该菜单的父级的方法。
另一方面,诸如使用程序中的特定对象计算某些值或按照自定义模式格式化元素之类的事情应该收集在“静态”类中,以使该类成为程序中的实用工具。
数学运算是可以应用于任何程序的非常通用的函数。尝试在程序的上下文中转换这个概念!;)
现在将它们作为静态函数放在一个类中。你以后可能会意识到你会有一些共同点......也许是状态?将其存储在课堂上可能是有意义的。而且您可能希望在调用其他对象之前检查那里的内容......在您知道之前,您将删除您的静态方面并实例化您自己的对象。甚至以后可能会考虑多个线程和其中的几个对象。你明白了……为面向对象的方法留出空间……