我们是否可以像jquery一样在C++/Java中使用链式样式设置器

Could we have chain style setters in C++/Java just like jquery?

本文关键字:Java 设置 样式 C++ 是否 jquery 一样 我们      更新时间:2023-10-16

我使用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(也称为访问器和赋值器)足够关心它们的链接暗示您的代码存在设计问题。