Java作为面对对象编程,相对于C语言来说,拥有三大特性,封装
,继承
,多态
,那么这三个特性到底有什么意义?
首先是封装
,对于某个对象,Java隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
那么这是什么意思呢,就是说对于一个对象,不去直接修改他的属性,而是有相应的方法,当你想要操作的时候,只需调用方法即可。
这样可以把对象的数据和行为相结合,形成一个有机的整体,我们称之为类。
以下面的一段代码为例:
public class Admin {
private String id; //编号
private String name; //姓名
private String password; //密码
private String extend; //权限
void setID(String id) {
this.id=id;
}
void setName(String name) {
this.name=name;
}
void setPassword(String password) {
this.password=password;
}
void setExtend(String extend) {
this.extend=extend;
}
String getID() {
return this.id;
}
String getName() {
return this.name;
}
String getPassword() {
return this.password;
}
String getExtend() {
return this.extend;
}
void say() {
System.out.print("Chinese");
}
}
对于Admin
类来说,他有4个属性,这4个属性都是私有的,其他的成员不能直接访问,其他的成员想要修改或者对Admin
的属性赋值,就需要使用Admin
类的方法。
可以看到每个属性都有相对应的get
和set
方法,当想要获取属性的值的时候,调用get
方法,当想要修改属性值时,可以调用set
方法。
上面是对象的数据,还有对象的行为,可以看上面代码的最后一个方法,say
函数是一个人说什么语言,对应的是这个对象的行为。
对于想要实现的操作,一个类已经将其封装好,你只需调用方法即可,这正是面对对象编程的精髓。
通过封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。
封装能够提高代码的可复用性和安全性,所以在写代码时应尽量提高代码的封装程度。