链式调⽤⽅法的实现原理和⽅法
1.什么是链式调⽤?
Person person = new Person().setName(fog)
.setAge(18)
.setSex(man)
.setJob(software engineer);
2.优势和好处
有以上的代码,好处显⽽易见:代码量⼤幅度减少,逻辑集中清晰明了,且易于查看和修改。
3.背后的实现原理
⼀般⽽⾔,我们在设置set,get的⽅法的时候,在对应的⽅法⾥都是返回的void。
从某种意义上来说,代码的返回值是⼀个必须要执⾏的步骤,直接返回void是⼀种浪费,⽽我们实现链式调⽤的关键步骤和原理就是这个返回值的不同。
public class Person {html实现用户注册登录代码
private String name;
private String sex;
private String job;
private int age;
public Person setJob(String job) {
this.job = job;
return this;
}
public Person setName(String name) {
this.name = name;
return this;
}
public Person setSex(String sex) {
this.sex = sex;
return this;
}
public Person setAge(int age) {
this.age = age;
return this;
}
}
解析:
开始的那⼀串链式设置属性的实现代码,正是上⾯的形式。
对⽐⽽⾔,就是返回值的不同,⼀个是void,⼀个是this。
⽽实现连释电⽤的逻辑就是:
1.对于第⼀个设置属性的⽅法⽽⾔,新建⼀个对象的时候,正常的调⽤其⽅法,如果这个⽅法返回的是this,意味着将这个设置过属性的对象返回
2.那么对于第⼆个⽅法⽽⾔,是⼀个设置⽅法返回的是已经设置过属性的对象,⽽这个返回的对象也是有对应的属性设置⽅法的,这样⼀来,就相当于对⼀个创建的对象调⽤其属性设置⽅法,并且将这个对象返回
3.以此类推,上⼀个⽅法返回对象,是下⼀个调⽤⽅法的执⾏对象,依次执⾏下去,就成了链式调⽤⽅法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。