关于流式编程风格(fluid programming style)的小例子

    我们经常看到连缀调用的写法,一大长串类似obj.method1().method2().method3()……methodn();的写法;我在《JavaEE 7精粹》里看到其中一章才知道这叫流式编程风格(fluid programming style),感慨于这种写法的优雅整洁,遂写一个小demo记录一下。之所以能实现连续调用,是因为每一次调用都返回相同类型的对象,demo示例如下:
 

package com.xf.gmh;

/**
 * @author 耿明辉
 *
 */
public class Dog {
	private String kind;
	private String color;
	private String age;
	
	public Dog(){
		System.out.println(
				"我是一只新诞生的虚无狗,我是谁?我哪来的?我不知道自己长什么样,多大啦等信息");
	}
	public String getKind() {
		return kind;
	}

	public Dog setKind(String kind) {
		this.kind = kind;
		return this;
	}

	public String getColor() {
		return color;
	}

	public Dog setColor(String color) {
		this.color = color;
		return this;
	}

	public String getAge() {
		return age;
	}

	public Dog setAge(String age) {
		this.age = age;
		return this;
	}

	@Override
	public String toString() {
		return "Dog [kind=" + kind + ", color=" + color + ", age=" + age + "]";
	}

}

以上是一个普通狗狗类,注意set方法是有返回类型的,在设值之后,要返回当前对象;下面是测试类:
 

/**
 * 测试流体编程风格
 */
package com.xf.gmh;

/**
 * @author 耿明辉
 */
public class TestFluidProgram {

	public static void main(String[] args) {
		Dog dog=new Dog();
		System.out.println("未进行设值之前的dog:"+dog);
		//使用流式编程风格设值
		dog.setAge("12").setColor("黑色").setKind("拉布拉多");
		String str=dog.toString();
		System.out.println("经过流式编程风格设值后的dog:"+str);
	}

}

经过连续为狗狗的属性设值,运行输入结果如下:

我是一只新诞生的虚无狗,我是谁?我哪来的?我不知道自己长什么样,多大啦等信息
未进行设值之前的dog:Dog [kind=null, color=null, age=null]
经过流式编程风格设值后的dog:Dog [kind=拉布拉多, color=黑色, age=12]

好了,以上就是一个简单的流式编程风格,理解尚浅,请多多指点。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值