第一章 什么是对象
1.1 抽象的历程
”对象“:问题空间中的元素及其解决方案空间中的具体呈现。
理念即是通过添加各种新的对象,可以将程序改编为一种描述问题的语言。
对象是具有状态、行为及标识的。
对象可以拥有自己的内部数据(用以赋予状态),方法(用以产生行为),对象在内存中都有唯一的地址。
1.2 对象具有接口
关键字class的由来:状态不同但结构相同的对象汇聚在一起而组成的同一类对象。
类是描述了一系列具有相同特征(即数据元素)和行为(即功能方法)的对象,也就是说类其实是数据类型。
在面向对象领域中,我们将创建的变量称为”对象“或者”实例“,将操作变量称为”发送消息“或者”发送请求“。
让一个对象真正的发挥其作用就是向对象发送请求。而对象能够接收什么请求,是由其接口决定,对象所归属的类则定义了这些接口。
eg:
类型名 | Light |
---|---|
接口 | on() |
off() | |
brighten() | |
dim() |
Light lt=new Light(); lt.on();
接口定义了能向这个对象发送的请求。
代码+隐藏的数据=”实现“
1.3 对象可以提供服务
在开发一个面向对象程序或者理解其设计时,可以将对象想象成”服务提