关于java面向对象中数据封装的一个问题

~嘘~~ 2018-08-21 03:30:12
java面向对象中对某个类中的数据进行封装隐藏,是为了防止其他非法类对该类中的属性进行非法修改,而要进行修改就必须使用已经设置好的set、get或者其他辅助代码(以下该语句简称MT)的方法进行修改,如果修改的数据是MT所不允许出现的非法数据,那么此时该数据就会被MT已经事先设置好的措施进行处理进而避免了数据被异常修改而造成的麻烦。

比如如果说在一个类中的属性是商品价格,如果此时编写相应的MT对该属性或属性值的修改以及读取进行限制,是不是就意味着只要是在该方法的允许下修改的所有数据都是合法的?
...全文
163 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
~嘘~~ 2018-08-22
  • 打赏
  • 举报
回复
谢了各位大佬
verejava 2018-08-21
  • 打赏
  • 举报
回复
Java 面向对象 之 封装方法

http://www.verejava.com/?id=16992728331734
疯癫行者 2018-08-21
  • 打赏
  • 举报
回复
合法这个词看你怎么理解了。
如果set/get方法很完善,那么在类的外面无论怎么修改,最终都是合法的。
如果get/set方法不太完善,那么类外面即使通过get/set方法,也可能造成不合理修改。
ring2丶 2018-08-21
  • 打赏
  • 举报
回复
我认为合法是相对的,如果你在MT中对属性的操作符合你的逻辑且无疏漏就可以说是合法的。

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧