为了账号安全,请及时绑定邮箱和手机立即绑定

公有化的属性和set方法有什么区别

直接把属性私有化,通过set方法设置值。

和属性公有化,直接赋值有什么区别。

正在回答

4 回答

公有化的属性,当面向对象时,用户可以随意的更改你的数据,而设置set和get方法,可以有效的防止用户随意的更改,也就是说用户只能在你设置的条件范围内才能更改你的数据。

当然如果你仅仅是自己用,而不是用于前端的话,说没区别也是可以的

0 回复 有任何疑惑可以回复我~
#1

慕粉9 提问者

谢谢了
2016-09-16 回复 有任何疑惑可以回复我~

这样写的话是没有什么区别,但是如果你可以在set函数里面加一些限制条件的话,就起到一定的保护作用

0 回复 有任何疑惑可以回复我~
#1

慕粉9 提问者

setter方法中加入属性控制语句,对属性值的合法性进行判断
2016-09-15 回复 有任何疑惑可以回复我~
#2

慕粉9 提问者

大部分属性set方法都没有什么限制,也就是说不加限制条件,基本没用了?
2016-09-15 回复 有任何疑惑可以回复我~
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;
    }


0 回复 有任何疑惑可以回复我~

第一种方法下,不设置set方法话,外界无法对该属性实行操作,

第二种的话,可以直接对该属性进行操作。

使用第一种方法是为了实现数据的封装,对数据采取的一种保护措施

0 回复 有任何疑惑可以回复我~
#1

慕粉9 提问者

看下面
2016-09-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

公有化的属性和set方法有什么区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信