简单链式调用的实现技术

在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用

这样的调用你可能在Ajax中,在页面中添加标签:

$("<p>").append($("<span>").text(list[i].name)).appendTo("#result");

 

也可能在HQL的查询语句中:

User loginUser = (User)session.createQuery("from User where username=? and password = ?")
   .setParameter(0, user.getUsername()).setParameter(1,user.getPassword())
    .uniqueResult();

 

那么,怎么样实现链式调用呢?

  1. 需要实例化一个对象
  2. 对要进行链式反应的方法,设置返回类型为该实例对象

演示:

public class Chain {
    public Chain(){}

    public Chain show(){
	System.out.println("链式调用...");
                   //返回该实例对象
	return this;	
	}
		
}
//测试
@Test
public void test(){
         Chain chain = new Chain();
         chain.show().show();
}
//运行结果
链式调用...
链式调用...

 

最后,总结一下链式调用可以应用的场景:

1.一个实例的对象需要多次赋值

2.没有特别要求方法的返回类型,要求得到调用后的实例类

3.在一个事务中,需要进行执行连续不间断的原子操作

你可能感兴趣的:(方法调用,链式反应,编程思想)