最近在研究异步NIO架构的Vert.x框架,在配置数据库连接的时候,发现了这句代码(注意这是一句代码):
MySQLConnectOptions connectOptions = new MySQLConnectOptions()
.setPort(3306)
.setHost("127.0.0.1")
.setDatabase("test")
.setUser("root")
.setPassword("root");
惊呆了我和我的小伙伴!
相比于我们平时的写法,一种是全参构造,一种是无参构造再设置属性,链式编程设置属性简直不要太方便!
//全参构造对象
User user0 = new User("id-001", "username_admin", "password_123");
//无参构造对象,再分别设置属性
User user1 = new User();
user1.setUid("id-002");
user1.setUsername("username_user");
user1.setPassword("password_321");
But,链式设置属性是怎么做到的呢?
挠了挠头。。有了!
接下来,我们对这个User类进行改造,让它实现链式设置属性,我们只需要改造它的set方法:
public User setUid(String uid) {
this.uid = uid;
return this;
}
public User setUsername(String username) {
this.username = username;
return this;
}
public User setPassword(String password) {
this.password = password;
return this;
}
然后我们就可以愉快地使用链式设置属性了!
User user = new User()
.setUid("id-003")
.setUsername("username_user2")
.setPassword("password_111");
完结。