JAVA--封装
2016-11-04 13:40
85 查看
封装是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
先来个例子看看;
public class Man
{
//对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性
private String name;
private int age;
private Woman wife;
//对该人对外界提供方法的封装,可以设定妻子,姓名,年龄也可以获得男人的姓名和年龄
// 方法封装
public void setWife(Woman wife) {
this.wife = wife;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
上面的例子仔细看就会发现,Man类没有提供getWife的方法,这是因为男人不想让自己的妻子被外界访问,接下来呢,就是封装可以把一个对象的属性私有,而提供一些可以被外界访问的属性的方法,比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改,同时对一些对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法,外界是不能得到Man类的wife属性的。
封装的作用:
1,对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
2,对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。
先来个例子看看;
public class Man
{
//对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性
private String name;
private int age;
private Woman wife;
//对该人对外界提供方法的封装,可以设定妻子,姓名,年龄也可以获得男人的姓名和年龄
// 方法封装
public void setWife(Woman wife) {
this.wife = wife;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
上面的例子仔细看就会发现,Man类没有提供getWife的方法,这是因为男人不想让自己的妻子被外界访问,接下来呢,就是封装可以把一个对象的属性私有,而提供一些可以被外界访问的属性的方法,比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改,同时对一些对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法,外界是不能得到Man类的wife属性的。
封装的作用:
1,对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
2,对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。
相关文章推荐
- Java中封装配置文件(1)-使用Properties (转)
- Java中封装配置文件(1)-使用Properties
- JAVA:数据库操作封装(2)
- Java:如何封装集合
- 使用java调用存储过程的通用封装
- Java中封装配置文件(1)-使用Properties
- CMPP3.0的java封装
- CachedRowSetImpl +JAVABEAN 封装数据库
- JAVA:数据库操作封装
- JAVA连接数据库组件--对JDBC的进一步封装
- 如何封装查询记录到Java对象数组
- JAVA LOG4J管理(续JAVA中LOG4J的封装)
- JAVA:数据库操作封装(1)
- Java异常处理的基本封装
- JAVA连接数据库组件--对JDBC的进一步封装--源文件下载
- 一句话技巧之: String 快速封装为 ByteBuffer ( Java )
- IP层的封装(Java的InetAddress类的C++实现)
- Java学习,数组的相关操作,封装类,Class类,反射API
- java基本数据类型和其封装类
- Java中数据成员的封装