安全?规范?
http://topic.youkuaiyun.com/u/20070108/12/059a1fcd-ae2f-4833-866a-149fa630c7e3.html
Give you an example. Let 's say you have class A and B as follows.
-----------------------------------------------------
public class A {
public int numberA;
}
public class B {
public A a;
public int numberB;
public B() {
a = new A();
numberB = 0;
}
public int someMethod() {
return numberB / a.numberA;
}
}
------------------------------------------
Then someone else is using your compiled class files.
-----------------------------------------------------
public class C {
public static void main(String[] args) {
B b = new B();
b.numberB = 10;
b.a.numberA = 0;
b.someMethod();
}
}
-------------------------------------------
Then this guy complain that your program has problems. What can you do?
Alternatively, we have the following.
--------------------------------------------------------
public class A {
private int numberA;
public getNumberA() {
return this.numberA;
}
public void setNumberA(int number) {
if (number > 0)
this.numberA = number;
}
}
----------------------------------------------------
Your program is protected (although very much limited in the example).
You 'd better read materials about OO Encapsulation to study further.
本文通过一个具体的例子展示了如何利用面向对象的封装特性来保护程序不受非法操作的影响,并讨论了当程序出现问题时如何进行合理的除错。
8187

被折叠的 条评论
为什么被折叠?



