您的位置:首页 > 编程语言 > Java开发

java的设计模式——值对象

2016-07-23 22:20 393 查看
值对象,vo(Value Objiect),Model

比如我们网上注册一个博客,我们需要填写自己的信息,以前可能说填写姓名,性别就好了,但后来又要增加QQ,微信号等等,如果我们采用传值的话会很麻烦。所以有了值对象的用法,就是把客户的所有信息封存在一个类里面,要增添某个属性时只要增加一个参数就好,方便很多。而且当你客户端要依次访问一个人姓名,性别,QQ,微信号时可以直接把封装的类传过去,不用依次一个个的传。

import java.io.Serializable;
//第一步 写一个类实现可序列化
public class AddressVO implements  Serializable{
//第二步 私有化所有属性,保持一个默认构造方法(public无参)
private String userId,name,address;
private boolean isMale;//性别之类的建议用布尔类型
public AddressVO(){
}
//第三步 这个全参构造方法,根据需要添加
public AddressVO(String userId, String name, String address, boolean isMale) {
super();
this.userId = userId;
this.name = name;
this.address = address;
this.isMale = isMale;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public boolean isMale() {
return isMale;
}
public void setMale(boolean isMale) {
this.isMale = isMale;
}
//第四步:推荐覆盖实现equals()、hashCode()和toString()方法
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((userId == null) ? 0 : userId.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
AddressVO other = (AddressVO) obj;
if (userId == null) {
if (other.userId != null)
return false;
} else if (!userId.equals(other.userId))
return false;
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: