如何用JAVA做链接_如何在java中实现方法链接?

8213c0db8b66e14afc7456674583a3be.png

至尊宝的传说

你的方法返回this如下:public Dialog setMessage(String message){    //logic to set message    return this;}这样,在每次调用其中一个方法之后,您将获得返回的相同对象,以便您可以调用另一个方法。当您想要在对象上调用一系列方法时,此技术很有用:它减少了实现该方法所需的代码量,并允许您在方法链之后获得单个返回值。减少显示对话框所需的代码量的示例包括:// Your Dialog has a method show() // You could show a dialog like this:new Dialog().setMessage("some message").setTitle("some title")).show();使用单个返回值的示例是:// In another class, you have a method showDialog(Dialog)// Thus you can do:showDialog(new Dialog().setMessage("some message").setTitle("some title"));使用Dennis在您的问题评论中提到的Builder模式的示例:new DialogBuilder().setMessage("some message").setTitle("some title").build().show();构建器模式允许您在构建对象之前为类的新实例设置所有参数(考虑具有final字段或对象的类,在构建之后设置值比在构造对象时设置值更昂贵)。在上面的例子:setMessage(String),setTitle(String)属于DialogBuilder类和返回相同的实例DialogBuilder,他们正在呼吁; 该build()方法属于DialogBuilder该类,但返回Dialog该show()方法属于Dialog该类的对象。额外这可能与您的问题无关,但它可能会帮助您和遇到此问题的其他人。这非常适用于大多数使用情况:所有用例不涉及继承和涉及继承时派生类中不添加要链接在一起的新方法的一些特殊情况和你不热衷于使用(不含铸造)方法链的结果作为派生的对象。如果您希望对其基类中没有方法的派生类的对象进行方法链接,或者希望方法链将对象作为派生类的引用返回,则可以查看答案对于这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值