課程
/后端開(kāi)發(fā)
/Java
/Java入門第二季 升級(jí)版
直接把屬性私有化,通過(guò)set方法設(shè)置值。
和屬性公有化,直接賦值有什么區(qū)別。
2016-09-15
源自:Java入門第二季 升級(jí)版 7-1
正在回答
公有化的屬性,當(dāng)面向?qū)ο髸r(shí),用戶可以隨意的更改你的數(shù)據(jù),而設(shè)置set和get方法,可以有效的防止用戶隨意的更改,也就是說(shuō)用戶只能在你設(shè)置的條件范圍內(nèi)才能更改你的數(shù)據(jù)。
當(dāng)然如果你僅僅是自己用,而不是用于前端的話,說(shuō)沒(méi)區(qū)別也是可以的
慕粉9 提問(wèn)者
這樣寫(xiě)的話是沒(méi)有什么區(qū)別,但是如果你可以在set函數(shù)里面加一些限制條件的話,就起到一定的保護(hù)作用
public?String?name;//這個(gè)公有化的name屬性,直接可以賦值 public?void?get(String?name)?{ ?????name="123"; }
private?String?name;//這個(gè)私有化的name屬性,公有化的set方法,通過(guò)set可以設(shè)置值,set是公有的,那和直接設(shè)置公有化的屬性有什么區(qū)別 ???? ????public?String?getName()?{ ????????return?name; ????} ????public?void?setName(String?newName)?{ ????????name=newName; ????}
第一種方法下,不設(shè)置set方法話,外界無(wú)法對(duì)該屬性實(shí)行操作,
第二種的話,可以直接對(duì)該屬性進(jìn)行操作。
使用第一種方法是為了實(shí)現(xiàn)數(shù)據(jù)的封裝,對(duì)數(shù)據(jù)采取的一種保護(hù)措施
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開(kāi)發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
5 回答變量和屬性有什么區(qū)別?
7 回答Java中變量和屬性有什么區(qū)別呢
2 回答構(gòu)造方法和方法有什么區(qū)別呢?
1 回答構(gòu)造方法和方法有什么區(qū)別,這兩個(gè)和C語(yǔ)言的函數(shù)又有什么區(qū)別
3 回答請(qǐng)問(wèn)類的屬性和類中的變量有什么區(qū)別?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-09-15
公有化的屬性,當(dāng)面向?qū)ο髸r(shí),用戶可以隨意的更改你的數(shù)據(jù),而設(shè)置set和get方法,可以有效的防止用戶隨意的更改,也就是說(shuō)用戶只能在你設(shè)置的條件范圍內(nèi)才能更改你的數(shù)據(jù)。
當(dāng)然如果你僅僅是自己用,而不是用于前端的話,說(shuō)沒(méi)區(qū)別也是可以的
2016-09-15
這樣寫(xiě)的話是沒(méi)有什么區(qū)別,但是如果你可以在set函數(shù)里面加一些限制條件的話,就起到一定的保護(hù)作用
2016-09-15
2016-09-15
第一種方法下,不設(shè)置set方法話,外界無(wú)法對(duì)該屬性實(shí)行操作,
第二種的話,可以直接對(duì)該屬性進(jìn)行操作。
使用第一種方法是為了實(shí)現(xiàn)數(shù)據(jù)的封裝,對(duì)數(shù)據(jù)采取的一種保護(hù)措施