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

本文探讨了面向对象编程中的对象交互,强调了降低对象耦合度的重要性。同时,介绍了封装概念,说明了如何通过访问控制(如private)来保护数据,确保数据只能通过特定的公共方法被访问。建议避免直接的成员变量访问,而是通过get/set方法提供服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值