问题标签 [setter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optimization - 在 Getter/Setter 或其他地方进行数据验证?
我想知道在getter和setter或代码的其他地方进行验证是否是个好主意。
当涉及到优化和加速代码时,这可能会让您感到惊讶,我认为您不应该在 getter 和 setter 中进行验证,而应该在更新文件或数据库的代码中进行验证。我错了吗?
c# - 我们如何在 Visual Studio 中生成 getter 和 setter?
通过“生成”,我的意思是自动生成特定选定(一组)变量所需的代码。
但欢迎对良好实践进行任何更明确的解释或评论。
c# - 为 C# 自动属性赋予初始值的最佳方法是什么?
如何为 C# 自动属性赋予初始值?
我要么使用构造函数,要么恢复到旧语法。
使用构造函数:
使用普通属性语法 (带有初始值)
有没有更好的办法?
setter - 如果你使用 getter 和 setter,你应该如何命名私有成员变量?
作为对这个关于前缀的问题的跟进,我同意线程上大多数人的观点,即前缀是不好的。但是如果你使用 getter 和 setter 呢?然后,您需要将可公开访问的 getter 名称与私有存储的变量区分开来。我通常只使用下划线,但有更好的方法吗?
c++ - 哪个更合适:getter 和 setter 还是函数?
如果替代函数名称使 API 更明显,那么放弃 getter 和 setter 的“getMyValue()”和“setMyValue()”模式是否合适?
例如,假设我在 C++ 中有这个类:
我可以像这样添加函数来获取/设置“mIsVisible”:
}
但是,同样可以使用以下方法:
简而言之,最好有一个“setVisible(bool)”方法还是一对“show()”和“hide()”方法?有没有约定,还是纯粹是主观的东西?
java - setter 方法是否必须有一个参数?
setter 方法是否必须有一个参数?通常 setter 方法接受一个参数作为对象的某个属性的值。如果我想首先测试取决于另一个布尔参数的有效性怎么办,如果为真,首先验证,否则只需设置值。
我通过 ftp 服务器从客户端获取值。有时这些文件包含垃圾值。例如,#3432838#9 之类的电话号码。所以在我设置值之前,我需要删除那些垃圾字符。我可以在 setter 方法中做到这一点吗?这是一种有效的方法吗?
提前致谢!
编辑:
这是否有效:
entity - 数据属性的实体对象 getter 和 setter
我最近开始在 Java 中工作,并被介绍给一切事物的 getter 和 setter 的狂野而疯狂的世界。起初我讨厌它,但很快就习惯了。太习惯了。
最近我花了很多时间来更多地思考班级设计。我正在尝试做的一件事是避免为所有事情做 getter 和 setter 的陷阱。然而,我所做的大部分工作都是处理主要是数据容器的实体,我不确定在这些情况下 getter 和 setter 是否真的不合适。
这是一个使用公共属性的简单示例。
这是一个使用私有属性并使用 getter 和 setter 的简单示例。
在这些示例中, thename
和description
字段都应该可以更改。
我觉得 getter/setter 示例更清晰,并且隐藏了 whatname
和description
are 的实现细节。如果需要,它还允许稍后在片场进行验证。
我已经阅读了一些关于 getter 和 setter 是邪恶的和/或反模式的讨论,但感觉这些可能不适用于这种情况。
也许有一些我还没有考虑过的选择。我愿意接受建议!
properties - 修改 setter 参数 - 是否破解?
修改 setter 参数是否正常?假设我们有 setString 方法。我们真的想保留字符串的修剪形式。所以带有尾随空格的字符串是无效的,但我们不想抛出异常。
最好的解决方案是什么?修剪设置器中的值,例如
或者在调用者中修剪它(不止一次),例如
或者也许是别的什么?
vb.net - 限制 Setter 范围然后应用接口后,范围被忽略!
如果我在 setter 上设置 Friend 级别的范围,像这样......
...然后从另一个项目中调用它,它可以正常工作。我不能做类似 MyClass.IsDirty = True 的事情。
伟大的!这正是我想要的。
但是现在如果我定义一个接口,我确实必须这样做:
我可以做类似的事情:
...而且,奇怪的是,它运行了!不抛出异常,内部变量设置为 True。它完全忽略了朋友范围!
这太可怕了。我错过了什么??
注意:我需要这个,因为我正在设计一个 API,并且我希望内部 API 能够设置 IsDirty,但最终开发人员不应该能够参与其中。目前我将整个类包装在一个外观中以获得此功能,但外观应该是不必要的。
properties - Rhino Mocks - 当属性没有获取时验证属性集
如果您有房产:
你如何使用 Rhino Mocks 来检查
叫做。
不编译。