封裝
為什麼需要封裝?封裝的作用和含義?
我要看電視,只需要按一下開關和換台就可以了。有必要了解電視機內部的結構嗎?有必要碰碰映象管嗎?
我要開車,等等事物
製造廠家為了方便我們使用電視,方便我們開車,把複雜的內部細節全部封裝起來,只給我們暴露簡單的介面,比如:電源開關,油門。具體怎麼內部實現的,我們不需要操心。
需要讓使用者知道的暴露出來,不需要讓使用者了解的全部隱藏起來這就是封裝。
白話:該露的露,該藏的藏。
專業:我們程式設計要追求「高內聚,低耦合」。高內聚就是類的內部資料操作細節自己完成,不允許外部干涉;低耦合:僅暴露少量的方法給外部使用。
變成中封裝的具體意義
便於呼叫者呼叫。
良好的封裝,便於修改內部**,提高可維護性。
良好的封裝,可進項資料完整性檢測,保證資料的有效性。
使用訪問控制符,實現封裝
『*』範圍越來越大
同乙個類
同乙個包中
子類所有類
private
*default(即不加修飾符的時候)**
protected**
*public**
**封裝的使用細節
1.屬性一般使用private(除非本屬性確定會讓子類繼承並且使用),提供相應的get/set方法來訪問相關屬性,這些方法通常是public,從而提供對屬性的讀取操作。(注意:boolean變數的get方法使用:is開頭。)
2.一些只用於本類的輔助性方法可以用private,希望其他類呼叫的方法用public
3.常量和static公開使用public,屬性全部私有private。
JAVA 物件導向
this關鍵字只能在方法內部使用,表示 呼叫方法的那個物件 的引用。this 用於建構函式之間進行相互呼叫。語句只能定義在建構函式的第一行。static 靜態 使用注意事項 1.靜態方法只能訪問靜態成員。非靜態方法可以訪問靜態成員。2.靜態方法中不可以定義this,super關鍵字。因為靜態優先於物...
JAVA 物件導向
定義類的格式 class student 例 public int addnumber int a,int b 注 方法名中的引數int a,int b為區域性變數 類方法中的一類特殊方法 構造方法。構造方法是當用類生成物件時,系統在生成物件的過程中利用的方法。注意 構造方法在生成物件的時候會被呼叫...
Java物件導向
理解物件導向 物件導向是相對面向過程而言 物件導向和面向過程都是一種思想 面向過程 強調的是功能行為 物件導向 將功能封裝進物件,強調具備了功能的兌現 物件導向是局域面向過程的 物件用計算機語言對問題域中事物的描述,物件通過屬性和方法來分別對應事物所具有的靜態屬性和動態屬性 物件導向的特點 是一種復...