在面向?qū)ο蟮木幊讨校饕婕皟刹糠秩藛T:“類創(chuàng)建者”(創(chuàng)建新數(shù)據(jù)類型的人)以及“客戶程序員”(在自己的應用程序中采用現(xiàn)成數(shù)據(jù)類型的人吵血;站在客戶程序員的角度來講谎替,他們主要就是使用“類創(chuàng)建者”創(chuàng)建好的類,以便自己快速的進行開發(fā)蹋辅。而“類創(chuàng)建者”他們主要的職責就是從頭到尾創(chuàng)建一個新的類钱贯,封裝某些操作,當然他們?yōu)榱吮苊庾约核鶎懙拇a被別人隨意進行修改侦另,所以他們只會對“客戶程序員”開放有必要開放的東西(接口)秩命,隱藏其他的細節(jié)。
接口
- 規(guī)定了可對一個特定的對象發(fā)出那些請求褒傅,然而弃锐,必須在某個地方存在著一些代碼,以便滿足這些請求殿托。這些代碼與那些隱藏起來的數(shù)據(jù)便叫做“隱藏的實現(xiàn)”
控制隊成員的對外訪問
防止程序員接觸他們不該接觸的東西——通常是內(nèi)部數(shù)據(jù)類型的思想霹菊,若是只為了解決問題,客戶程序員只需要操作相應的接口就可以了支竹,不需要弄清楚其內(nèi)部的實現(xiàn)原理旋廷。
當該庫設(shè)計人員想要修改其內(nèi)部的結(jié)構(gòu)時鸠按,不用擔心修改后會對客戶程序員造成什么影響,例如饶碘,當需要對該類或者庫進行優(yōu)化時目尖,以便可以更好得到運行,客戶程序員要使用該類時扎运,只需要調(diào)用其接口就可以了瑟曲。
邊界
java采用三個顯式(明確)關(guān)鍵字以及一個隱式(暗示)關(guān)鍵字來設(shè)置類邊界:public,private绪囱,protected以及暗示性的friendly测蹲。
- public修飾詞,表示成員是公開的鬼吵,所有其他類都可以訪問
- private修飾詞扣甲,表示成員是私有的,只有自身可以訪問
- protected齿椅,表示受保護權(quán)限琉挖,體現(xiàn)在繼承,即子類可以訪問父類受保護成員涣脚,同時相同包內(nèi)的其他類也可以訪問protected成員
- 無修飾詞(默認)示辈,表示包訪問權(quán)限(friendly, java語言中是沒有friendly這個修飾符的遣蚀,這樣稱呼應該是來源于c++ )矾麻,同一個包內(nèi)可以訪問,訪問權(quán)限是包級訪問權(quán)限