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