面向對象系列二(封裝)
? ? ? ?僅僅須要最簡單的操作就能實現一系列復雜的功能。是做一個個技術攻克的目的。
一臺精密儀器,一架家用電器,一個小米手機,這些可能我們都在用,或者用過。它們的內部都無比的復雜。使用了各種各樣的配件,運用了極多的原理和知識。我們在使用的時候都具有同樣的感受:簡單、方便、太好了!
面對原本復雜的東西,我們卻能通過簡介就能運用自如,甚至有的能無師自通,這都為什麽?這就用到了面向對象的封裝性。
? ? ? ?面向對象的封裝性就是將復雜的處理封裝在“盒子”的內部。僅僅憑借裝外殼的少量的button或鍵盤就能輕松實現功能。哦,原來如此。
? ? ? ?那麽面向對象是怎樣來實現封裝的呢?
? ? ? ?面向對象很巧妙地設置了一道門檻——訪問限制符。正是通過訪問限制符控制了外界對對象的直接訪問。避免像玻璃房一樣一切活動被別人盡收眼底。
? ? ? ?訪問修飾符就像門的鑰匙,手機的秘密。用得好,能夠保證安全;用得不好,自己給門鎖獨立的鎖。家人也別想進。
? ? ? ?訪問修飾符有:private
? ? ? ?不能把類型定義為protected、private和?protected?internal,由於這些修飾符對於包括在名稱空間中的類型沒有意義。因此這些修飾符僅僅能應用於成員。可是,能夠用這些修飾符定義嵌套的類型(即,包括在其它類型中的類,由於在這樣的情況下,類型也具有成員的狀態。
於是,以下的代碼是合法的:
public class OuterClass { protected class InnerClass { //etc. } // etc. }
? ? ? ?假設有嵌套的類型,則內部的類型總是能夠訪問外部類型的全部成員。
所以,在上面的代碼中,InnerClass中的代碼能夠訪問0uterCIass的全部成員,甚至能夠訪問0utclass的私有成員。
面向對象系列二(封裝)