WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
封裝
封裝 (encapsulation),隱藏對象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對外公開接口,控制在程序中屬性的讀和修改的訪問級別。
簡介
封裝 (encapsulation)隱藏對象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對外公開接口,控制在程序中屬性的讀和修改的訪問級別。
封裝 (encapsulation)封裝就是將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合,形成一個(gè)有機(jī)的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進(jìn)行有機(jī)的結(jié)合,形成“類”,其中數(shù)據(jù)和函數(shù)都是類的成員。
封裝的目的是增強(qiáng)安全性和簡化編程,使用者不必了解具體的實(shí)現(xiàn)細(xì)節(jié),而只是要通過外部接口,以特定的訪問權(quán)限來使用類的成員。
封裝在網(wǎng)絡(luò)編程里面的意思, 當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時(shí),數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個(gè)通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò),其中每一層對收到的數(shù)據(jù)都要增加一些首部。
原則
1把盡可能多的東西藏起來.對外提供簡捷的接口。
2把所有的屬性藏起來。
例如,在抽象的基礎(chǔ)上,我們可以將時(shí)鐘的數(shù)據(jù)和功能封裝起來,構(gòu)成一個(gè)時(shí)鐘類。
按c++的語法,時(shí)鐘類的聲明如下:
class Clock
{
public: //共有成員,外部接口
void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
private: //私有成員,外部無法訪問
int Hour,Minute,Second;
}
技巧
可以看到通過封裝使一部分成員充當(dāng)類與外部的接口,而將其他的成員隱蔽起來,這樣就達(dá)到了對成員訪問權(quán)限的合理控制,使不同類之間的相互影響減少到最低限度,進(jìn)而增強(qiáng)數(shù)據(jù)的安全性和簡化程序的編寫工作。