【问题标题】:How to set get private members of a class: looking for a better approach如何设置获取类的私有成员:寻找更好的方法
【发布时间】:2019-07-19 09:04:42
【问题描述】:

我的班级有很多私人成员。我已经定义了用于设置和获取它们的值的公共函数。由于对于这些私有成员中的每一个,我都定义了一组 set/get 函数,因此我的代码变得太忙了。我相信应该有一种更聪明的方式来处理这种情况,有什么想法吗?

【问题讨论】:

  • 公开成员变量?
  • @Quentin 首先,这是一个好习惯吗?如果是,在什么情况下。其次,每次获取/设置参数时,我都必须进行一些值检查
  • @JalilNourisa 好的做法是设计类,使其他类不需要访问私有成员。如果另一个类需要访问一个类的私有内容,那么责任就放错了。也许方法应该被移动或者其他的东西应该被重构。如果您发现自己处于需要 getter 和 setter 并且设计无法更改的地方,请不要撒谎 - 成员根本不是私有的,因为您有一个 getter 和 setter。让它public.
  • “我的想法是定义一个枚举,为每个参数定义一个索引”这是一个非常糟糕的想法。
  • IMO,这个问题太宽泛了。关于如何正确设计课程的书籍已经写成,单一的 SO 答案无法给出明确的答案。

标签: c++ private-members


【解决方案1】:

您应该首先检查是否所有变量都需要 Getter 和 Setter 方法。(正如评论所建议的那样)然后检查您是否可以将一些变量与一种方法一起设置,毕竟您应该检查您的架构方法是否正确一个或多个功能组合成一个类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多