fluent 接口(链式调用的接口)

fluent 接口(链式调用的接口)

介绍

在一些框架中,比如hiberante中,比如配置系统变量时,通常都是链式调用来赋值的.

如下赋值就是链式调用:
Person person = new Person();
    person.setId(1)
          .setBirthday(LocalDate.of(1991, 10, 7))
          .setName("Mark");

借助this关键字来实现.

Java Code 示例

/**
 * 尝试写fluent链式接口/类
 * 
 * @author xuyi
 * @Time 2016年12月4日 下午2:00:06
 * @类名 Person
 * @功能描述:
 * @春风十里不如你
 * @备注:
 */
public class Person
{

    private int         id;
    private String      name;
    private LocalDate   birthday;
    public Person setId(int id)
    {
        this.id = id;
        return this;//返回当前对象
    }
    public Person setName(String name)
    {
        this.name = name;
        return this;//返回当前对象
    }
    public Person setBirthday(LocalDate birthday)
    {
        this.birthday = birthday;
        return this;//返回当前对象
    }

}

总结

借助this关键字可以实现链式调用,这种接口给使用者非常好的体验,很多优秀的框架中都有提供这样的接口.

你可能感兴趣的:(胡言乱语)