我们是否可以像jquery一样在C++/Java中使用链式样式设置器
Could we have chain style setters in C++/Java just like jquery?
我使用C++和Java已经有一段时间了,最近我在使用jquery。我注意到jquery的链式函数。然后我想,如果我们可以像jquery一样在C++/Java中更改setter?例如,如果我们的代码是
class Person {
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public Person setName(String name) {
this.name = name;
return this;
}
public Person setAge(int age) {
this.age = age;
return this;
}
}
然后我们可以编写如下代码:
Person person = new Person();
person.setName("Tom").setAge(20);
如果我们有很多二传手,这似乎更简单。
我想知道这是不是个好主意?你同意我的观点吗?请告诉我你的意见。非常感谢。
这通常用于创建流畅的接口,可以用任何语言实现。
- 优点:可以提高可读性,并允许更简洁的代码
- 缺点:调试可能更困难,因为断点通常是基于行的
这在C++中通常被称为方法链接
使用方法链接更多的是一个选择问题。
方法链接最常见的用途是在iostream库中
例如,cout << x << y
之所以有效,是因为cout << x
是返回cout
的函数。
方法chaning通常用于命名参数习语。
方法链接在C++中运行良好,而且这样做根本没有问题。
使用getters/ssetter(也称为访问器和赋值器)足够关心它们的链接暗示您的代码存在设计问题。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- 如何在boost beast http请求中设置http头
- 将对象传递给 Java C++与使用 JNI 逐个设置对象参数
- 无法从JNI设置Java Int数组字段
- C++从 Java 角度设置和映射内存管理
- 如何使用Java设置像SwigType_p_lpcstr这样的swigtype值
- 无法在 Java / C++ 中为外部应用程序设置始终处于领先地位
- 在 Python 和 Java 中设置线程亲和力
- 如何通过 JNI 设置 java 类的双精度/整数类型的值
- 我们是否可以像jquery一样在C++/Java中使用链式样式设置器
- 设置/获取 Java 列表<>从 C 代码
- Java字节设置操作中的字节出现符号(+/-)错误