1. 对象交互
对象是由其他对象组成的,而类定义了这样的组合关系。
对象和对象之间的联系紧密程度叫做耦合。对象和对象的耦合程度越紧,表现在源代码上,就是它们的代码是互相依赖、互相牵制的。我们理想的模型,是对象和对象之间的耦合要尽可能的松,平行的对象要尽量减少直接联系,让更高层次的对象来提供通信服务。
Display:对象 |
---|
value:值 limit:上限 |
increase:递增一下 getValue:得知现在的value值 |
package clock;
public class Display {
private int value=0;
private int limit=0;
public Display(int limit) {
this.limit=limit;
}
public void increase() {
value++;
if(value==limit) {
value=0;
}
}
public int getValue() {
return value;
}
public static void main(String [] args) {
Display d=new Display(24);
while(true) {
d.increase();
System.out.println(d.getValue());
}
}
}
2. 访问属性
封装,就是把数据和对这些数据的操作放在一起,并且用这些操作把数据掩盖起来
注意:
- 所有的成员变量必须是private的,这样就避免别人任意使用你的内部数据;
- private只能用于成员变量和成员函数(在类内部)
- private的成员变量只有在这个类的内部才能去访问它
- 能使用成员变量的地方:成员函数里面(可能是构造函数可能是普通函数);定义初始化的地方
- 所有public的函数,只是用来实现这个类的对象或类自己要提供的服务的,而不是用来直接访问数据的。除非对数据的访问就是这个类及对象的服务。简单地说,给每个成员变量提供一对用于读写的get/set函数也是不合适的设计。
private:
- 只有这个类内部可以访问
- 类内部指类的成员函数和定义初始化
- 这个限制是对类的而不是对对象的
private int value=0;
private int limit=0;