封裝是將對(duì)象的信息隱藏在對(duì)象內(nèi)部,禁止外部程序直接訪問(wèn)對(duì)象內(nèi)部的屬性和方法。\x0d\x0ajava封裝類(lèi)通過(guò)三個(gè)步驟實(shí)現(xiàn):\x0d\x0a\x0d\x0a(1)修改屬性的可見(jiàn)性,限制訪問(wèn)。\x0d\x0a(2)設(shè)置屬性的讀取方法。\x0d\x0a(3)在讀取屬性的方法中,添加對(duì)屬性讀取的限制。
成都創(chuàng)新互聯(lián)公司專(zhuān)注于黔江網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供黔江營(yíng)銷(xiāo)型網(wǎng)站建設(shè),黔江網(wǎng)站制作、黔江網(wǎng)頁(yè)設(shè)計(jì)、黔江網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造黔江網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供黔江網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
封裝就是隱藏實(shí)現(xiàn)細(xì)節(jié)
將屬性私有化
提供公有方法訪問(wèn)私有屬性。
類(lèi)是基于面向?qū)ο笏枷刖幊陶Z(yǔ)言的基礎(chǔ)
程序員可以把具有相同業(yè)務(wù)性質(zhì)的代碼封裝到一個(gè)類(lèi)里
通過(guò)接口方法向外部代碼提供服務(wù)
同時(shí)向外部代碼屏蔽類(lèi)里服務(wù)的具體實(shí)現(xiàn)方式。對(duì)象是類(lèi)的實(shí)例
類(lèi)一般是個(gè)抽象名詞
比如“人類(lèi)”
而對(duì)象則是具體的物質(zhì)存在
比如“張三”
這個(gè)人。在現(xiàn)實(shí)生活中
經(jīng)常會(huì)遇到“類(lèi)”
和“對(duì)象”
這些概念
比如封裝了能實(shí)現(xiàn)“全自動(dòng)洗衣機(jī)”
功能的洗衣機(jī)類(lèi)。這里
用戶(hù)可以使用面板上的按鈕
使用該類(lèi)里提供的洗衣等服務(wù)并且
由于該類(lèi)實(shí)現(xiàn)了封裝
所以在使用的時(shí)候
用戶(hù)可以不用了解其中的自動(dòng)洗衣原理以及實(shí)現(xiàn)機(jī)制。
類(lèi)是同一種類(lèi)型的對(duì)象的抽象
是某種類(lèi)型對(duì)象的概述和定義
而對(duì)象則是某個(gè)類(lèi)的實(shí)例化結(jié)果或者叫一種類(lèi)型的實(shí)體。在使用面向?qū)ο蟮乃枷脒M(jìn)行軟件開(kāi)發(fā)的過(guò)程中
首先得抽出項(xiàng)目的實(shí)體-對(duì)象模型
即首先是實(shí)體類(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)。