即隱藏對象的屬性和實現(xiàn)細節(jié),僅對外公開接口,控制在程序中屬性的讀和修改的訪問級別;將抽象得到的數(shù)據(jù)和行為(或功能)相結合,形成一個有機的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進行有機的結合,形成“類”,其中數(shù)據(jù)和函數(shù)都是類的成員。
在電子方面,封裝是指把硅片上的電路管腳,用導線接引到外部接頭處,以便與其它器件連接。封裝,Package,是把集成電路裝配為芯片最終產品的過程,簡單地說,就是把鑄造廠生產出來的集成電路裸片(Die)放在一塊起到承載作用的基板上,把管腳引出來,然后固定包裝成為一個整體。
在面向對象編程中,封裝(encapsulation)是將對象運行所需的資源封裝在程序對象中——基本上,是方法和數(shù)據(jù)。對象是“公布其接口”。其他附加到這些接口上的對象不需要關心對象實現(xiàn)的方法即可使用這個對象。這個概念就是“不要告訴我你是怎么做的,只要做就可以了?!睂ο罂梢钥醋魇且粋€自我包含的原子。對象接口包括了公共的方法和初始化數(shù)據(jù)。
可以看到通過封裝使一部分成員充當類與外部的接口,而將其他的成員隱蔽起來,這樣就達到了對成員訪問權限的合理控制,使不同類之間的相互影響減少到最低限度,進而增強數(shù)據(jù)的安全性和簡化程序的編寫工作。