Java 中抽象和封裝有什麼區別?


根據字典,抽象是指處理思想而不是事件的品質。例如,當你考慮電子郵件的情況時,複雜細節(如郵件傳送後發生的事情,電子郵件伺服器使用的協議)對使用者是隱藏的。因此,要傳送電子郵件,你只需鍵入內容,提及收件人的地址,然後點擊發送。

抽象的過程是將實現細節對使用者進行隱藏,僅向用戶提供功能。換句話說,使用者將獲得有關物件執行什麼操作的資訊,而不是它是如何執行的。

在 Java 中,抽象是使用抽象類和介面實現的。

Java 中的封裝是一種將資料(變數)和對資料操作的程式碼(方法)作為單個單元包裝在一起的機制。

示例

public class EncapTest {
   private String name;
   private String idNum;
   private int age;
   
   public int getAge() {
      return age;
   }
   public String getName() {
      return name;
   }
   public String getIdNum() {
      return idNum;
   }
   public void setAge( int newAge) {
      age = newAge;
   }
   public void setName(String newName) {
      name = newName;
   }
   public void setIdNum( String newId) {
      idNum = newId;
   }
}
public class RunEncap {
   public static void main(String args[]) {
      EncapTest encap = new EncapTest();
      encap.setName("James");
      encap.setAge(20);
      encap.setIdNum("12343ms");
      
      System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
   }
}

輸出

Name : James Age : 20

更新於:30-07-2019

815 檢視次數

開啟您的 職業生涯

完成課程,獲得認證

開始
廣告