繼承、封裝、多態、抽象是面向對象編程的四大基本概念,其中封裝尤為重要,因為從我們學習JAVA開始,就基本上接觸了封裝,因為JAVA中的所有程序都是寫在類中的,類也能當做一種封裝。
在面向對象中封裝是指隱藏對象的屬性和實現的細節,僅對外提供公共訪問方式。在類定義中用private關鍵字來實現封裝。封裝有什么好處?
一是用private把類的細節與外界隔離起來,從而實現數據項和方法的隱藏,而要訪問這些數據項和方法唯一的途徑就是通過類本身,類才有資格調用它所擁有的資源(方法,數據項屬性等等)。所以第一個好處就是數據的安全性提高了。
二是通過隱藏隔離,只允許外部對類做有限的訪問,開發者可以自由的改變類的內部實現,而無需修改使用該類的那些程序。只要那些在類外部就能被調用的方法保持其外部特征不變,內部代碼就可以自由改變,各取所需,利於分工。
三就是提高了代碼的重用性,封裝成工具類以后能夠減少很多繁瑣的步驟。
例如:
public class Student {
//學號
private int id;
//姓名
private String name;
//年齡
private int age;
//性別
private String sex;
//查看學號
public int getID(){
return id;
}
//修改學號
public void setID(int id){
this.id=id;
}
//查看姓名
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;
}
//查看性別
public String getSex(){
return sex;
}
//修改性別
public void setSex(String sex){
this.sex=sex;
}
}
要修改和查看學生的信息必須通過SETXXX、和GETXXX來實現。 這是能初步體現封裝的的例子。我們也能在SET方法中加些判斷限制,大大的減少了垃圾信息。