面向对象Java学习:对象交互

268 阅读2分钟

「这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战」。

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;