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

加入get和set不还是一样能够访问和修改成员变量么?

private限制了变量不能对实例化的对象访问,保护不被修改,但加入get和set还是和public一样能够访问和修改成员变量么?对其保护又体现在哪里呢?感觉没有起到private对变量的限制、保护作用啊。有明白人能帮忙指点一下么,谢谢。

正在回答

2 回答

如果对get和set方法什么都不做,确实没有起到保护的作用。但是你可以在set方法里实现一些check的代码,比如什么样的数据不能被set,这样就起到保护的作用了。

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

个人认为,在学封装之前,应该先搞明白为什么要对变量进行封装。在对字段进行隐藏后,用公开的属性对字段进行封装,加入get和set后,还是和公开字段一样,能够访问和修改成员变量;封装对自段的保护就像是ATM机对钞票的保护作用,理解这个背景最为重要。这是我的理解,希望对你有用。

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

举报

0/150
提交
取消

加入get和set不还是一样能够访问和修改成员变量么?

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