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