`
归来朝歌
  • 浏览: 7838 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

简单链式调用的实现技术

阅读更多

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

这样的调用你可能在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.在一个事务中,需要进行执行连续不间断的原子操作

13
7
分享到:
评论

相关推荐

    Javascript 链式调用实现代码(参考jquery)

    这里我们可以自定义一个简单的对象,并为其添加链式调用的方法: ```javascript var MyObject = function() {}; MyObject.prototype.methodA = function() { console.log('执行 methodA'); return this; // 返回...

    JavaScript中两种链式调用实现代码

    在JavaScript编程中,链式调用是一种常见的编程技巧,它...在实际应用中,可以根据项目需求和个人喜好选择适合的链式调用实现方式。无论选择哪种方法,理解其工作原理对于编写高效、可维护的JavaScript代码至关重要。

    JS链式调用的实现方法

    程序开发人员可以使用一些简单的技术来改进自己的代码编写工作。你可以写一些函数来处理各种常见...也可以改进一下代码的实现方式,比如你可以把方法的链式调用技术用到自己所写的JS库中,把自己喜欢的方法串起来调用。

    sTable:一个简易的Table组件-支持子表、单元格合并、链式调用、事件代理、简易排序等功能

    `sTable`是一个轻量级的JavaScript表格组件,它旨在提供一系列实用功能,如子表、单元格合并、链式调用、事件代理以及简单的排序能力。这个组件对于那些需要在Web应用中展示复杂数据,但又不想引入大型库的开发者来...

    JavaScript的级联函数用法简单示例【链式调用】

    总的来说,JavaScript的级联函数(链式调用)是通过在对象方法中返回`this`来实现的,它使得你可以连续调用对象上的多个方法,而无需每次都重新获取对象引用。这种模式在构建模块化、可复用的代码时非常有用,能够...

    Java多线程实现异步调用实例

    Java 8引入的CompletableFuture提供了一种更高级的异步编程模型,支持链式调用和组合多个异步任务。 总之,Java多线程和异步调用是构建高效、响应迅速的应用程序的关键技术。通过合理利用这些工具和机制,开发者...

    Java实现异步调用

    它可以构建复杂的异步任务链,支持链式调用,如`thenApply()`, `thenAccept()`, `thenCompose()`等,可以轻松实现同步和异步操作的组合。 7. **异步IO(NIO)** Java的非阻塞I/O模型,如`java.nio`包,允许在等待I...

    swift-iOS基础控件链式编程

    在Swift中,链式编程是一种优雅的编程风格,它允许我们通过点操作符(.)将多个方法调用连接在一起,形成一个连续的表达式。这种技术在iOS开发中特别受欢迎,尤其是当处理UI控件时,如创建和配置视图、按钮、标签等...

    jsp自动调用action

    - 在`struts.xml`中配置Action,指定其执行成功后的结果类型为`chain`,并链式调用下一个Action: ```xml &lt;param name="actionName"&gt;anotherAction &lt;param name="method"&gt;xxxx &lt;param name="namespace"&gt;/xxx/...

    Spring-RMI (RMI调用, HTTP调用)

    `WebClient`允许你构建复杂的HTTP请求,并通过链式调用来设置各种选项。 3. **请求与响应处理**:无论是`RestTemplate`还是`WebClient`,都可以方便地处理JSON、XML等数据格式的请求和响应,通过消息转换器将这些...

    JQ+ajax实现异步调用

    7. **Promise API**:从jQuery 1.5开始,`.ajax()`返回的是一个Promise对象,可以使用`.then()`和`.catch()`进行链式调用,符合现代JavaScript的编程风格。 ### 示例代码 ```html &lt;!DOCTYPE html&gt; &lt;title&gt;...

    顺序链式一元多项式加法,减法,乘法运算的实现.docx

    《顺序链式一元多项式加法、减法、乘法运算的实现》 在计算机科学中,一元多项式的运算通常涉及到数学和数据结构的知识。这篇文档主要探讨了如何使用顺序存储结构和链式存储结构来实现一元多项式的加法、减法和乘法...

    jQuery 调用后台方法

    jQuery 的主要特点是 Chainable Syndrome,即可以在一个方法中链式调用多个方法,从而提高开发效率。 二、为什么需要调用后台方法? 在 Web 开发中,往往需要将前端的数据传递给后台服务器进行处理,这时需要使用 ...

    Android网络请求

    在Android应用开发中,网络请求是必不可少的一部分,它使得应用程序能够获取远程服务器的数据,实现与互联网的交互。本文将深入探讨Android中常见的网络请求方式,包括HTTPClient、HttpURLConnection和Socket,以及...

    源代码-AJAX类,调用方式类似jQuery.zip

    3. **jQuery风格API**:类的调用方式模仿jQuery,可能包含类似于`$.ajax()`、`$.get()`、`$.post()`等方法,提供链式调用。 4. **参数设置**:类的方法可能接受URL、数据、请求类型(GET或POST)、回调函数等参数,...

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    Action的实现可以是简单的Java类,或者使用POJO(Plain Old Java Object)模型,这样降低了Action与框架的耦合度。书中会详细介绍如何定义Action,以及如何使用ActionSupport基类和注解来简化开发。 再者,Struts2...

    为何要使用MQ.docx

    #### 一、链式调用的劣势 在传统的软件开发过程中,链式调用是一种常见的编程模式,它指的是一个模块直接调用另一个模块,依次类推形成一条完整的调用链。然而,在现代分布式系统中,这种简单的线性调用模式存在...

    19 一个按钮调用两个方法,事件中的event对象.pdf

    Vue还提供了事件修饰符,比如.stop、.prevent、.capture、.self、.once、.passive等,这些修饰符可以被链式调用,让事件处理更加灵活和强大。修饰符通常和@符号结合使用,并放在指令之后,修饰符之前。 在Vue3.x中...

    Ajax动态库 直接调用

    - **Promise链式调用**:使用.then()和.catch()来处理异步操作的成功和失败情况。 5. **Ajax的安全性和优化**: - **跨域问题**:Ajax请求可能遇到同源策略限制,需要了解CORS(跨源资源共享)机制来解决。 - **...

    栈和递归遍历实例

    而递归(Recursion)则是一种函数自我调用的技术。在递归过程中,一个问题被分解为一个或多个规模更小的相同问题,直到问题变得足够简单可以直接解决。递归需要一个明确的基线条件(Base Case),以防止无限循环,...

Global site tag (gtag.js) - Google Analytics