Java面向對象---封裝

在面向對象程式設計方法中,封裝(英語:Encapsulation)是指一種將抽象性函式接口的實現細節部份包裝、隱藏起來的方法。安全

封裝能夠被認爲是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨機訪問。this

要訪問該類的代碼和數據,必須經過嚴格的接口控制。spa

封裝最主要的功能在於咱們能修改本身的實現代碼,而不用修改那些調用咱們代碼的程序片斷。設計

適當的封裝能夠讓程式碼更容易理解與維護,也增強了程式碼的安全性。code

封裝的優勢

  • 1. 良好的封裝可以減小耦合。對象

  • 2. 類內部的結構能夠自由修改。blog

  • 3. 能夠對成員變量進行更精確的控制。接口

  • 4. 隱藏信息,實現細節。get

實現Java封裝的步驟

1. 修改屬性的可見性來限制對屬性的訪問(通常限制爲private),例如:io

1 public class Person { 2     private String name; 3     private int age; 4 }

這段代碼中,將 nameage 屬性設置爲私有的,只能本類才能訪問,其餘類都訪問不了,如此就對信息進行了隱藏。

2. 對每一個值屬性提供對外的公共方法訪問,也就是建立一對賦取值方法,用於對私有屬性的訪問,例如:

 1 public class Person{  2     private String name;  3     private int age;  4  5     public int getAge(){  6       return age;  7  }  8  9     public String getName(){ 10       return name; 11  } 12 13     public void setAge(int age){ 14       this.age = age; 15  } 16 17     public void setName(String name){ 18       this.name = name; 19  } 20 }

採用 this 關鍵字是爲了解決實例變量(private String name)和局部變量(setName(String name)中的name變量)之間發生的同名的衝突。

相關文章
相關標籤/搜索