从头认识java-1.2 对象-服务提供者
从头认识java-1.2 对象-服务提供者
raylee2015 发表于2年前
从头认识java-1.2 对象-服务提供者
  • 发表于 2年前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

这一章节我们来讨论一下怎么理解对象?

1.服务提供者

对象:来源于“Object”,中文说的比较抽象,个人更倾向于台湾香港的译法“物件”,个人实实在在的感觉,不用那么虚,当然,如果叫实例也是比较好理解。

对象,我们可以想象成服务的提供者。它包含了一组数据以及一些可执行的方法。

例如:

package com.ray.ch01;

public class Bird {

	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	private void say() {
	}

	public static void main(String[] args) {
		Bird bird1 = new Bird();
		bird1.say();
		Bird bird2 = new Bird();
		bird2.say();
		System.out.println(bird1.equals(bird2));
	}
}

在上面的代码里面得出:

Bird,我们称为类,其实它就是我们自己定义的数据类型,映射实际世界里面的“鸟”。

在main方法里面的bird1和bird2,我们称之为对象,或者实例,或者物件等等,这两个实例属于了Bird这个数据类型,里面含有name这个属性,还有say这个方法。


这里,我们可以把bird1看作服务提供商,这个对象给我们提供say这个执行的方法。


2.分解对象

上面提到服务提供商,那么我们可以引入下面例子。

例如:黑白双方在设计五子棋时,可分为行为是相同的黑白双方,负责绘制画面的棋盘系统,负责判定犯规、输赢等的规则 系统。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种 变化,同时利用第三类对象(规则系统)来对棋局进行判定问题的步骤中的行为。

又例如:在分析学生管理系统,第一类对象是用户,负责输入数据,第二类对象是显示对象,赋值显示返回,第三类对象是逻辑处理对象,主要负责处理数据。


3.高内聚

既然上面提到了分解对象,那么必须提到高内聚。

高内聚:从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事

我们下面给出反面例子:

package com.ray.testobject;

public class Bird {
	private String name;
	
	private void sing() {		
	}
	
	private void fly() {		
	}
}


上面的例子很明显,sing这个方法应该属于歌唱家的,而fly是属于鸟的,因此这个类的内聚不高。由于内聚不高,因此当调用sing的方法的时候,就可能耦合bird这个类,造成以后维护的麻烦。

 

总结,这一章节介绍了对象作为服务提供者使用,并且延伸到分解对象和内聚。


这一章节就到这里,谢谢。

-----------------------------------

目录



版权声明:本文为博主原创文章,未经博主允许不得转载。

标签: java
共有 人打赏支持
粉丝 7
博文 265
码字总数 44224
×
raylee2015
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: