java中封裝的代碼體現(xiàn) java封裝的例子

誰(shuí)能用段代碼給我解釋下java的封裝?。?/h2>

public class Man {

目前累計(jì)服務(wù)客戶上1000+,積累了豐富的產(chǎn)品開(kāi)發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹(shù)立企業(yè)形象,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。成都創(chuàng)新互聯(lián)始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過(guò)對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺(jué)傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

//這里是對(duì)屬性的封裝,一個(gè)人的姓名,年齡,妻子都是這個(gè)對(duì)象(人)的私有屬性

private String name;

private int age;

private Woman wife;

//這里是對(duì)改人對(duì)外界提供方法的封裝,可以設(shè)置改男人的妻子,姓名,年齡也可以獲取改男人的姓名和年齡

public void setWife(Woman wife) {

this.wife = wife;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

public class Woman {

//同樣這里是屬性封裝

private String name;

private int age;

private Man husband;

//方法封裝

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Man getHusband() {

return husband;

}

public void setHusband(Man husband) {

this.husband = husband;

}

}

/**

* 仔細(xì)看就會(huì)發(fā)現(xiàn),Man類沒(méi)有提供getWife的方法,這是以為男人不想讓自己的妻子被外界訪問(wèn),

*

* 直接下來(lái)呢,就是封裝可以吧一個(gè)對(duì)象的屬性私有,而提供一些可以被外界訪問(wèn)的屬性的方法,

*

* 比如說(shuō),name屬性,Man和Woman類都有相應(yīng)的get和set方法,外界都可以通過(guò)這些方法訪問(wèn)和修改

*

* 同時(shí)對(duì)一些改對(duì)象不想讓外界訪問(wèn)的屬性,就不提供其方法,比如說(shuō)Man的wife屬性,就沒(méi)有g(shù)et方法

*

* 外界是不能帶到Man類的wife屬性的

*

* 呵呵

* 奇怪的是Woman類有husband的get方法,這就是封裝的一點(diǎn),還有的其他朋友也說(shuō)到了

*/

Java中類的封裝是如何實(shí)現(xiàn)的?

java類中,是分四種級(jí)別的:public,private,保護(hù),和默認(rèn)級(jí)別。其中最常用的是public和private級(jí)別。java類封裝,就是通過(guò)級(jí)別來(lái)控制的。private級(jí)別時(shí),只可以類內(nèi)部訪問(wèn)。public級(jí)別可讓其他人使用。所以封住java類時(shí),只要把你想封裝的類資源寫成private級(jí)別,再在類內(nèi)部給它提供一個(gè)可被他人調(diào)用的public方法,這樣,就實(shí)現(xiàn)了封裝。大概就是這樣吧

JAVA中什么是封裝?能不能用點(diǎn)通俗的語(yǔ)言詳細(xì)解釋一下?或者來(lái)段小代碼段,謝謝

在面向?qū)ο笾蟹庋b是指隱藏對(duì)象的屬性和實(shí)現(xiàn)的細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式。在類定義中用private關(guān)鍵字來(lái)實(shí)現(xiàn)封裝。封裝有什么好處?

一是用private把類的細(xì)節(jié)與外界隔離起來(lái),從而實(shí)現(xiàn)數(shù)據(jù)項(xiàng)和方法的隱藏,而要訪問(wèn)這些數(shù)據(jù)項(xiàng)和方法唯一的途徑就是通過(guò)類本身,類才有資格調(diào)用它所擁有的資源(方法,數(shù)據(jù)項(xiàng)屬性等等)。所以第一個(gè)好處就是數(shù)據(jù)的安全性提高了。

二是通過(guò)隱藏隔離,只允許外部對(duì)類做有限的訪問(wèn),開(kāi)發(fā)者可以自由的改變類的內(nèi)部實(shí)現(xiàn),而無(wú)需修改使用該類的那些程序。只要那些在類外部就能被調(diào)用的方法保持其外部特征不變,內(nèi)部代碼就可以自由改變,各取所需,利于分工。

三就是提高了代碼的重用性,封裝成工具類以后能夠減少很多繁瑣的步驟。

以上是比較書面上的解釋,可能不太好理解,舉個(gè)例子吧,你就是一個(gè)對(duì)象,對(duì)于老師來(lái)說(shuō)你可以寫作業(yè),但是你怎么寫,用什么筆寫,什么時(shí)候?qū)懰麄儾⒉魂P(guān)心,只要你按時(shí)寫完就行了。所以你對(duì)于老師公開(kāi)的(public)是寫作業(yè)這個(gè)行為(方法),具體你怎么寫的用什么寫是你自己私有的(private)屬性(property)或者方法(function),封裝在你本身(class)里面了。

在Java程序中,代碼封裝帶給我們的好處是什么?

說(shuō)給人家聽(tīng),我們就說(shuō)的通俗簡(jiǎn)單點(diǎn): 代碼封裝的好處:第一點(diǎn)在于安全,JAVA中類的一個(gè)屬性,我們一般會(huì)在類中將其私有化然后getter和setter方法對(duì)外提供得到和設(shè)置的方法,這就好比自動(dòng)存提款機(jī),錢就是我們要的屬性,要的數(shù)據(jù),放在那直接去拿可以嗎?很明顯不行,所以自動(dòng)存提款機(jī)提供了取錢的方法和存錢方法,而你不用知道錢從哪來(lái)要到哪里去。第二點(diǎn)在于方便:方法也是封裝的一種體現(xiàn),有一個(gè)功能我們要反復(fù)調(diào)用,每次寫同樣的代碼嗎?答案很明顯,不要!,我們寫個(gè)方法,把這段功能代碼封裝成一個(gè)方法,需要的時(shí)候調(diào)用方法名就可以了,不是嗎? 關(guān)于package:如果一個(gè)項(xiàng)目很大的話,會(huì)分成很多小組,每個(gè)小組會(huì)有很多開(kāi)發(fā)人員,大家在編寫代碼時(shí)說(shuō)不定會(huì)出現(xiàn)同樣的類名,問(wèn)題就來(lái)了,我在調(diào)類的時(shí)候,調(diào)的是哪個(gè)?所以每個(gè)小組用不同的包名,這樣來(lái)區(qū)分類所在的位置。好,如果你說(shuō)項(xiàng)目編碼之前詳細(xì)設(shè)計(jì)說(shuō)的很清楚了,類不可能出現(xiàn)同名,那么包的另外一個(gè)好處在于相似用途的類放在一個(gè)包下可以方便管理和查找,比如java.util包,如查沒(méi)有包的存在,我想查API看有哪些集合框架,你說(shuō)方便不 權(quán)限修飾符的作用就是:你很有錢,你愿意告訴誰(shuí)你很有錢需要的時(shí)候可以來(lái)找你,你的親屬?你的兒子?還是全世界的所有人?你自己有必要告訴誰(shuí) 那么他們?nèi)卞X的時(shí)候就會(huì)想到你

在java中什么是封裝,舉一個(gè)例子說(shuō)明一下

類的封裝性即不能讓外面的類隨意修改一個(gè)類的成員變量;

在定義一個(gè)類的成員,使用private關(guān)鍵字說(shuō)明這個(gè)成員的訪問(wèn)權(quán)限,只能被這個(gè)類的其他成員方法調(diào)用,而不能被其他的類中的方法所調(diào)用;

為實(shí)現(xiàn)封裝性,常將類的成員變量聲明為private,再通過(guò)public的方法來(lái)對(duì)這個(gè)變量進(jìn)行訪問(wèn)。對(duì)一個(gè)變量的操作,一般都有 讀取和賦值操作,我們一般定義兩個(gè)方法來(lái)實(shí)現(xiàn)這兩種操作,即:getxxx()與setxxx();

一個(gè)類就是一個(gè)模塊,我們應(yīng)該讓模塊僅僅公開(kāi)必須要讓外界知道的內(nèi)容,而隱藏其他的一切內(nèi)容。再進(jìn)行程序設(shè)計(jì)時(shí),應(yīng)盡量避免一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù),模塊設(shè)計(jì)追求強(qiáng)內(nèi)聚,弱耦合。

網(wǎng)頁(yè)標(biāo)題:java中封裝的代碼體現(xiàn) java封裝的例子
地址分享:http://muchs.cn/article20/hjssjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)