將物件的狀態資訊隱藏在物件內部,不允許外部程式直接訪問物件內部資訊,而是通過該類所提供的方法來實現對內部資訊的操作和訪問。封裝是通過設定訪問控制符實現的,他們的訪問控制如下:
訪問許可權 類 包 子類 全域性範圍
public ∨ ∨ ∨ ∨
protect ∨ ∨ ∨ ×
default ∨ ∨ × ×
private ∨ × × ×
訪問控制符可用於修飾的成員:
成員變數、方法、構造器、類等
其中類只能使用public和default修飾
訪問控制符的使用原則:
類的絕大部分成員變數都應該使用private修飾,只有一些static修飾的、類似全域性變數的成員變數,才考慮使用public修飾。
如果某個類主要用做其他類的父類,希望被其子類重寫的方法應該使用protected修飾。
封裝的目的
1.隱藏類的實現細節
2.讓使用者只能通過事先預定的方法來訪問資料,從而可以在該方法裡加入控制邏輯,限制對其他類的不合
理訪問。
3.可進行資料檢查,從而有利於保證物件資訊的完整性。
4.便於修改,提高**的可維護性。
java物件導向之類與封裝
一 物件導向 1.1 面向過程 我該怎麼做,然後一步步完成 物件導向 我該讓誰來做。1.2 物件導向的好處 更符合人的思維方式 指揮者思想 將複雜的問題簡單化 1.3 把方法封裝到物件裡,呼叫物件的方法 二 類與物件 2.1 類是組織 的基本單位 類把物件導向體現到了 中 2.2 屬性 變數 行為 ...
Java之類與物件 學生類封裝
定義乙個學生類,屬性 姓名,年齡,性別,住址,班級,1.方法 入學方法 引數為年齡 判斷學生的年齡是否大於18歲,如果大於18歲則可以入學,並列印該學生的所有資訊。2.方法 查詢方法 引數為姓名,學生陣列 如果有該同學的姓名則顯示查詢成功,否則查詢失敗。3.方法 修改方法 原姓名,學生陣列 如果有該...
python之類的封裝
隱藏屬性或方法的過程稱為封裝,在屬性前加 把屬性定義為私有屬性,不能夠被讀取引數的資訊 class person def init self,age,self.age age self.per person 18,男 print 性別為 per.但可以對私有屬性進行賦值,獲取被賦值 class pe...