黑马程序员技术交流社区

标题: 封装为什么会提高安全性? [打印本页]

作者: 大牛1    时间: 2016-5-29 21:22
标题: 封装为什么会提高安全性?
封装为什么会提高安全性?
举个例子:
class Student{
String name ;
int age ;
}

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


作者: Kingchen    时间: 2016-5-29 22:16
顶一个!
作者: static小白    时间: 2016-5-29 22:31
顶贴是一种美德
作者: 大牛1    时间: 2016-5-30 17:58
Kingchen 发表于 2016-5-29 22:16
顶一个!

希望可以帮助到你
作者: 孟小垚    时间: 2016-5-30 18:34
很好,顶一个
作者: 大牛1    时间: 2016-6-1 19:34
孟小垚 发表于 2016-5-30 18:34
很好,顶一个

共同进步
作者: 云袭    时间: 2016-6-1 19:56
呵呵哒萌萌哒
作者: wy123580    时间: 2016-6-1 20:17
虽然说封装只是隐藏事物的具体属性或行为,仅对外提供公共的访问方式,但是在对于隐藏实现的细节仅对外于代码也提高了维护性与安全性。
作者: 大牛1    时间: 2016-6-1 20:38
云袭 发表于 2016-6-1 19:56
呵呵哒萌萌哒

呵呵哒萌萌哒么么哒
作者: 大牛1    时间: 2016-6-1 20:40
wy123580 发表于 2016-6-1 20:17
虽然说封装只是隐藏事物的具体属性或行为,仅对外提供公共的访问方式,但是在对于隐藏实现的细节仅对外于代 ...

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

封装的好处:提高代码的复用性、可维护性、安全性
作者: MrDevil    时间: 2016-6-1 21:02
6666666666666666666
作者: 大牛1    时间: 2016-6-2 09:40
MrDevil 发表于 2016-6-1 21:02
6666666666666666666

共同进步
作者: li6232876    时间: 2016-6-2 09:48
通过把成员变量设置成私有的,然后通过调用带有验证合理性的方法  来对成员变量赋值,可以提高安全性。
作者: lichmeng    时间: 2016-7-13 12:02
强势顶帖!!!!
作者: lz178357795    时间: 2016-7-13 12:40
顶一个!
作者: 地狱蓝枫    时间: 2016-7-13 13:21
顶一个,感谢分享
作者: 糊图    时间: 2016-7-13 14:09
有些东西也不是十分的明白,听大家怎么讲吧
作者: wenxi003    时间: 2016-7-13 15:50
6666666666
作者: empty3717    时间: 2016-7-13 21:02
我觉得这样的解释很牵强!!假如我这样子来赋值

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

这样也能成功赋值啊。

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


封装是为了隐藏属性和细节,只暴露接口,而你的这个解释搭不上边。

作者: 他的好    时间: 2016-7-13 21:50
是的,通过对象赋值不提倡,因为使用者可以随意进行赋值更改,没有非法赋值限制,将成员属性私有化之后会有方法规则限制,不能随意的赋值
作者: 回根的落叶    时间: 2016-7-13 23:53
顶一个!
作者: 回根的落叶    时间: 2016-7-14 23:21
顶一个!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2