当前位置: 首页 > 面试题库 >

在C ++中设置/获取方法

卫鸿朗
2023-03-14
问题内容

Java程序员和API似乎更喜欢显式的set / get方法。

但是,我给C ++社区不满意这种做法的印象。如果是这样,是否有特定原因(除了更多的代码行)为何如此?

另一方面,为什么Java社区选择使用方法而不是直接访问?

谢谢


问题答案:

一个设计良好的类在理想情况下应该没有太多的获取和设置。我认为,太多的获取和设置基本上是一个事实,表明其他人(可能还有许多人)需要我的数据才能实现其目的。在那种情况下,为什么这些数据首先属于我?这违反了封装的基本原理(一个逻辑单元中的数据+操作)。

因此,虽然没有技术上的限制,并且(实际上有很多)“设置”和“获取”方法,但是我想说,如果您想要太多“设置”和“设置”的方法,则应该暂停并重新检查设计。您的类接口被系统中太多其他实体使用。



 类似资料:
  • 我正在尝试为属性创建get和set方法: 设置值的关键字是什么?

  • 问题内容: 创建像这样的结构后: 如何创建Foo的新实例并设置并获取名称?我尝试了以下方法: 没有打印任何内容,因为名称为空。那么如何设置结构中的字段? 工作操场 问题答案: 评论(和工作)示例: 测试并进行Go之旅,以了解有关方法和指针以及Go的基础知识的更多信息。

  • 本文向大家介绍C#设置与获取环境变量的方法详解,包括了C#设置与获取环境变量的方法详解的使用技巧和注意事项,需要的朋友参考一下 1.前言 本来想拿学校机房的Android编辑器直接粘到自己电脑上用,发现它的eclipse是32位的,而我的JDK是64位的,于是想到干脆装两个JDK,用C#做一个能够更改环境变量的程序 环境变量是包含关于系统及当前登录用户的环境信息的字符串,一些软件程序使用此信息确定

  • 问题内容: 这是我的工厂: 我在两个控制器MainCtrl和AccountEditCtrl中使用此服务,在MainCtrl中使用getFirstname(),在AccountEditCtrl中使用setFirstname 我的问题是,当我使用userService.setFirstname()时,$ scope.userName不会在MainCtrl中更改。 问题答案: 在某些情况下,$ watc

  • 本文向大家介绍vue中设置、获取、删除cookie的方法,包括了vue中设置、获取、删除cookie的方法的使用技巧和注意事项,需要的朋友参考一下 1、在src目录下的access下新建一个cookie.js, 内容如下: 2、在main.js中引入并且将cookie设置成vue的全局变量 3、这样,在登录或退出等页面上就可以调用$cookieStore这个全局变量来使用 以上这篇vue中设置、获

  • 本文向大家介绍jquery获取及设置outerhtml的方法,包括了jquery获取及设置outerhtml的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery获取及设置outerhtml的方法。分享给大家供大家参考。具体分析如下: 在开发过程中,jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然而我们有时候的确需要,可以通过jQuer