Java三大特性详解--封装

public class PersonPO {

/**

  • 姓名

*/

private String name;

/**

  • 性别

*/

private String sex;

/**

  • 年龄

*/

private int age;

/**

  • 父母

*/

private ParentsPO parentsPO;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public ParentsPO getParentsPO() {

return parentsPO;

}

public void setParentsPO(ParentsPO parentsPO) {

this.parentsPO = parentsPO;

}

}

上面是personPO.java 类,用来封装好了人这个对象的一些属性,这里顺带提一下,在公中代码的编写习惯很重要,做好做到规范,一般在封装类中的属性都要写注释并且使用/**注释*/这种,只有在方法体中的注释才是 //注释。关于java编写规范的问题我自己还没有整理,不过网上就有很多,自己多注意一下吧,下面这个这个链接就是java规范的问题:http://www.cnblogs.com/foreverly/articles/6581198.html

package com.po;

public class ParentsPO {

private String name;

private String age;

private String idCard;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public void setAge(String age) {

this.age = age;

}

public String getIdCard() {

return idCard;

}

public void setIdCard(String idCard) {

this.idCard = idCard;

}

}

可以看到在parentsPO.java中没有getage()方法,所以外界便不能获得parentsPO对象的age的属性值了

所以封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果不想被外界方法,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。比如我们将一个房子看做是一个对象,里面的漂亮的装饰,如沙发、电视剧、空调、茶桌等等都是该房子的私有属性,但是如果我们没有那些墙遮挡,是不是别人就会一览无余呢?没有一点儿隐私!就是存在那个遮挡的墙,我们既能够有自己的隐私而且我们可以随意的更改里面的摆设而不会影响到其他的。但是如果没有门窗,一个包裹的严严实实的黑盒子,又有什么存在的意义呢?所以通过门窗别人也能够看到里面的风景。所以说门窗就是房子对象留给外界访问的接口。

接下来说再来看,如果有一天想要把PersonPO.java中的age属性类型该成string类型,如果是小项目或是开发刚刚起步还好,但如果是一个大的系统,很多地方都用到了这个对象,你现在改一下这个对象的属性类型,那么就有成千上万个地方等着你改。所以这个时候你着用改一下set 方法

package com.po;

public class PersonPO {

/**

  • 姓名

*/

private String name;

/**

  • 性别

*/

private String sex;

/**

  • 年龄改成String类型

*/

private String age;

/**

  • 父母

*/

private ParentsPO parentsPO;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public String getAge() {

return age;

}

public void setAge(int age) {

if(age > 120){

System.out.println(“ERROR:error age input…”);

//提示錯誤信息

}else{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值