標籤:java物件導向基礎 封裝性
對於剛學習java的人來說可能不知道 封裝性的好處,感覺麻煩,封裝有很多好處。最主要的目的就是 保護內容。保證某些屬性或者方法不被外部看見。
類的封裝性即不能讓外面的類隨意修改一個類的成員變數;
在定義一個類的成員(包括變數和方法),使用private關鍵字說明這個成員的存取權限,只能被這個類的其他成員方法調用,而不能被其他的類中的方法所調用;
為實現封裝性,常將類的成員變數聲明為private,再通過public的方法來對這個變數進行訪問。對一個變數的操作,一般都有 讀取和賦值操作,我們一般定義兩個方法來實現這兩種操作,即:getXxx()與setXxx();
一個類就是一個模組,我們應該讓模組僅僅公開必須要讓外界知道的內容,而隱藏其他的一切內容。再進行程式設計時,應盡量避免一個模組直接修改或操作另一個模組的資料,模組設計追求強內聚(許多功能盡量在類的內部獨立完成,不讓外面幹預),弱耦合(提供給外部盡量少的方法調用)。
舉個例子:
class Person{ privateString name;//設定姓名屬性 privateint age;//設定年齡屬性 public void setName(String name){//設定姓名 this.name=name; } public String getName(){//取得姓名 return name; } public void setAge(int age){//設定年齡if(age>=0){ this.age=age;}else{ this.age=0;} } public int getAge(){//取得年齡 return age; }public void tell(){System.out.println("姓名:"+getName()+",年齡:"+getAge());}};public class fengzhuang{ public static void main(String args[]) { Person per = new Person();//聲明並執行個體化對象 per.setName("張三");//賦值 per.setAge(30);//賦值 per.tell(); Person per2= new Person();//聲明並執行個體化對象 per2.setName("李四");//賦值 per2.setAge(-30);//賦值 per2.tell(); }};定義一個Person類,若想給類中的屬性賦值,則必須通過setName()和getName()方法來給類中的屬性賦值。
java物件導向基礎 封裝性