什么是封裝?
成都創(chuàng)新互聯(lián)公司是專業(yè)的樂(lè)都網(wǎng)站建設(shè)公司,樂(lè)都接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行樂(lè)都網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
在定義類(lèi)的時(shí)候,如果可以直接修改類(lèi)中的字段那么就可能會(huì)出現(xiàn)以下的情況,age可以設(shè)置成1000,score可以設(shè)置為10000
所以就引出了封裝的概念,那么什么是封裝呢或者說(shuō)封裝可以實(shí)現(xiàn)那些目的
封裝可以隱藏實(shí)現(xiàn)的細(xì)節(jié)
讓使用者只能通過(guò)實(shí)現(xiàn)寫(xiě)好的訪問(wèn)方法來(lái)訪問(wèn)這些字段,這樣一來(lái)我們只需要在這些方法中增加邏輯控制,限制對(duì)數(shù)據(jù)的不合理訪問(wèn)、
方便數(shù)據(jù)檢查,有利于于保護(hù)對(duì)象信息的完整性
便于修改,提高代碼的可維護(hù)性
為了實(shí)現(xiàn)良好的封裝,需要從兩個(gè)方面考慮
把字段(成員變量)和實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),不允許外部直接訪問(wèn)
把方法暴露出來(lái),讓方法控制這些成員變量進(jìn)行安全的訪問(wèn)和操作
因此,封裝就有兩個(gè)含義:把該隱藏的隱藏起來(lái),把該暴露的暴露出來(lái)。
說(shuō)給人家聽(tīng),我們就說(shuō)的通俗簡(jiǎn)單點(diǎn): 代碼封裝的好處:第一點(diǎn)在于安全,JAVA中類(lèi)的一個(gè)屬性,我們一般會(huì)在類(lèi)中將其私有化然后getter和setter方法對(duì)外提供得到和設(shè)置的方法,這就好比自動(dòng)存提款機(jī),錢(qián)就是我們要的屬性,要的數(shù)據(jù),放在那直接去拿可以嗎?很明顯不行,所以自動(dòng)存提款機(jī)提供了取錢(qián)的方法和存錢(qián)方法,而你不用知道錢(qián)從哪來(lái)要到哪里去。第二點(diǎn)在于方便:方法也是封裝的一種體現(xiàn),有一個(gè)功能我們要反復(fù)調(diào)用,每次寫(xiě)同樣的代碼嗎?答案很明顯,不要!,我們寫(xiě)個(gè)方法,把這段功能代碼封裝成一個(gè)方法,需要的時(shí)候調(diào)用方法名就可以了,不是嗎? 關(guān)于package:如果一個(gè)項(xiàng)目很大的話,會(huì)分成很多小組,每個(gè)小組會(huì)有很多開(kāi)發(fā)人員,大家在編寫(xiě)代碼時(shí)說(shuō)不定會(huì)出現(xiàn)同樣的類(lèi)名,問(wèn)題就來(lái)了,我在調(diào)類(lèi)的時(shí)候,調(diào)的是哪個(gè)?所以每個(gè)小組用不同的包名,這樣來(lái)區(qū)分類(lèi)所在的位置。好,如果你說(shuō)項(xiàng)目編碼之前詳細(xì)設(shè)計(jì)說(shuō)的很清楚了,類(lèi)不可能出現(xiàn)同名,那么包的另外一個(gè)好處在于相似用途的類(lèi)放在一個(gè)包下可以方便管理和查找,比如java.util包,如查沒(méi)有包的存在,我想查API看有哪些集合框架,你說(shuō)方便不 權(quán)限修飾符的作用就是:你很有錢(qián),你愿意告訴誰(shuí)你很有錢(qián)需要的時(shí)候可以來(lái)找你,你的親屬?你的兒子?還是全世界的所有人?你自己有必要告訴誰(shuí) 那么他們?nèi)卞X(qián)的時(shí)候就會(huì)想到你
你把JAVA生成的兩個(gè).clsss文件找到,例如:A.class和B.class再建一個(gè)文本文件,把建的文本文件C.TXT把擴(kuò)展名改為.mf,再用記事本打開(kāi)這個(gè)文件,在里面寫(xiě)上這樣的語(yǔ)句:
Manifest-Version: 1.0
Main-class; A
Created-By: 1.5
然后在"開(kāi)始"中打開(kāi)"運(yùn)行"打開(kāi)輸入"cmd"然后用CD把目錄轉(zhuǎn)化成那兩個(gè)文件的目錄,然后輸入"jar cfm [要生成的文件名] C.mf A.class B.class"
這樣就會(huì)生成一個(gè)文件,這個(gè)文件就是打包的文件,你可以雙擊運(yùn)行.