1.1 抽象的过程
所有的编程语言都提供抽象的机制,人们所能解决的问题的复杂性直接取决于抽象的类型和质量。 汇编是对底层机器语言的轻微抽象。 “命令式”语言(C、BASIC等)是对汇编语言的抽象。 但是这些都是解决问题必须基于计算机的结构,而不是基于要解决问题的结构来考虑的。
Smalltalk的五个基本特性,面 向对象的程序设计方式:
- 万物皆为对象。
- 程序是是对象的集合,他们通过发送消息来告知彼此所需要做的。
- 每个对象都有自己的由其他对象构成的存储(对象的组合,通过组合创造新对象)
- 每个对象都拥有其类型(每个对象是对应类型的实例instance)
- 某一特定类型的所有对象可以接收同样的消息(多态性)
Booch对对象提出了一个更加简洁的描述:对象具有状态、行为和标识。
1.2 每一个对象都有一个接口
创建抽象的数据类型是面向对象程序设计的基本概念之一。所有的面向对象的设计语言都使用class这个关键字表示数据类型。 接口确定了对某一特定对象所能发出的请求。
1.3 每个对象都提供服务
将对象看作是服务提供者还有一个附带的好处:它有助于提高对象的内聚性
1.4 被隐藏的具体实现
java用public、private、protected
- public 任何人都是可以用的。
- private 类型创建者和类型的内部方法。
- protectid 继承的类可以访问。
1.5 复用具体实现
使用一个类的一个对象,创建成员对象。使用现有类合成新的类,这种概念叫做组合,动态产生 就叫聚合。 就想汽车拥有引擎一样。
1.6 继承
源类(基类、超类或者父类)发生变化 相应的副本(导出类、继承类或者子类)也发生变化。 几何形 -- 圆形 、正方形
1.6.1 是一个和像是一个的关系
一个圆形就是一个几何形状
1.7 伴随多态的可互换对象
面向对象程序设计语言使用了后期绑定的概念。当面向对象发送消息时、被调用的代码直到运行时才能确定。 java 的 动态绑定是默认行为。 把要导出的类看做它的基类的过程称为向上转型,
1.8 单继承结构
单继承结构的好处:
- 单继承结构所有的对象都具有一个公用接口,都是相同的基本类型。
- 单继承结构保证所有对象都具备某些功能。
- 单继承结构使垃圾回收器的实现变得容易。
1.9 容器
list set map
1.9.1参数化类型
泛型
1.10 对象的创建和生命周期
java完全采用了动态内存分配的方式。 java 的垃圾回收器被设计用来处理内存释放的问题。垃圾回收器知道对象何时不再被使用,并自动释放对象占用的内存,这一点同所有对象都是继承基类Object以及只能以一种方式创建对象这两个特性结合起来的。
1.11 异常处理:处理错误
java一开始就内置了异常处理,而且强制你必须使用它。
1.12 并发编程
java的并发是内置于语言中的。
1.13 java与Internet
1.13.1 Web是什么
- 客户端/服务器计算技术
- WEB 就是一台巨型服务器