A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大牛1 中级黑马   /  2016-5-29 21:22  /  7107 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

封装为什么会提高安全性?
举个例子:
class Student{
String name ;
int age ;
}

class StudentDemo{
public static void main(String[] args){
Student s = new Student() ;
s.age = -17;  //合适吗?虽然语法上没错,但是在逻辑上错误。这种赋值是非法的。但是通过把成员变量设置成私有的,然后通过调用带有验证合理性的方法  来对成员变量赋值,可以提高安全性。
}
}

22 个回复

倒序浏览
顶一个!
回复 使用道具 举报
顶贴是一种美德
回复 使用道具 举报

希望可以帮助到你
回复 使用道具 举报
很好,顶一个
回复 使用道具 举报

共同进步
回复 使用道具 举报
呵呵哒萌萌哒
回复 使用道具 举报
虽然说封装只是隐藏事物的具体属性或行为,仅对外提供公共的访问方式,但是在对于隐藏实现的细节仅对外于代码也提高了维护性与安全性。
回复 使用道具 举报

呵呵哒萌萌哒么么哒
回复 使用道具 举报
wy123580 发表于 2016-6-1 20:17
虽然说封装只是隐藏事物的具体属性或行为,仅对外提供公共的访问方式,但是在对于隐藏实现的细节仅对外于代 ...

封装的好处:提高代码的复用性、可维护性、安全性
回复 使用道具 举报
wy123580 发表于 2016-6-1 20:17
虽然说封装只是隐藏事物的具体属性或行为,仅对外提供公共的访问方式,但是在对于隐藏实现的细节仅对外于代 ...

封装的好处:提高代码的复用性、可维护性、安全性
回复 使用道具 举报
6666666666666666666
回复 使用道具 举报

共同进步
回复 使用道具 举报
通过把成员变量设置成私有的,然后通过调用带有验证合理性的方法  来对成员变量赋值,可以提高安全性。
回复 使用道具 举报
强势顶帖!!!!
回复 使用道具 举报
顶一个!
回复 使用道具 举报
顶一个,感谢分享
回复 使用道具 举报
有些东西也不是十分的明白,听大家怎么讲吧
回复 使用道具 举报
6666666666
回复 使用道具 举报
我觉得这样的解释很牵强!!假如我这样子来赋值

if(age>0){
    a.age = age;
}

这样也能成功赋值啊。

或者我的set方法没有判断age>0?  我可以a.setAge(-10).


封装是为了隐藏属性和细节,只暴露接口,而你的这个解释搭不上边。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马