1、抽象过程
1.1 抽象的定义:是从众多的事物中抽取出共同的,本质性的特征,舍弃其非本质的特征;比如苹果、香蕉、梨等,它们有一个共同的特征,那就是它们都是水果,在程序中,我们 将其定义为水果类。所以抽象的过程,就是一个裁剪的过程,将不一致的,非本质的,不重要的通通裁剪掉。比如汽车和大米,如果从商品这个抽象体的角度看,价格是它们的共同特征。
1.2 抽象的目的:将复杂的问题简单化,降低复杂度。
1.3 面向对象语言中的抽象:面向对象语言中的对象就是一个抽象体,它泛指任一一种抽象对象,某一对象具有特定的状态、行为以及标志,特定对象可以解决特定的问题。
1.4 纯面向对象的设计方式:
1)万物皆对象:将对象视为奇特的变量,可以存储数据,除此之外,可以要求它自身上执行操作。在理论上,我们可以抽取任何待解决问题的概念化构件(狗、建筑物、服务 等),将其表示为程序中的对象。
2)程序是对象的集合,通过发送消息来告知彼此所要做的。
3)每个对象都有自己的由其他对象所构成的存储。换句话说,可以通过创建包含现有对象的包的方式来创建新的类型的对象。
4)每个对象都拥有其类型。按照通俗的说法,“每个对象都是某个类的一个实例(instance)”
5)某一特定类型的所有对象可以接受同样的消息,这就意味着,所有“圆形”类型的对象同时是“几何形”类型的对象,所以一个“圆形”对象必定能够接受发送给“几何形”对象的消息。
二、对象
1)对象具有唯一性。所有的对象是唯一,而且是唯一的个体,同时也是具有相同的特征和行为的对象所归属的类的一部分,比如张三、王五,他们都是独立的个体,当时他们都属于人类中的一部分,也属于哺乳动物类中的一部分。
2)对象相当于特殊的数据类型的数据。在面向对象程序设计中实际上是进行的是创建新的数据类型。创建抽象数据类型(类)是面向对象程序设计的基本概念之一。抽象数据类型的运行方式与内置(built-in)类型几乎完全一致:你可以创建某一类型的变量(按照面向对象的说法,称其为对象或实例),然后操作这些变量(称其为发送消息或请求;发送消息,对象就知道要做什么)。所有的面向对象程序设计语言都使用class这个关键词来表示数据类型。
3)类描述了具有相同特性(数据元素)和行为(功能)的对象集合,一个类实际上就是一个数据类型。
2.1 每个对象都有一个接口
2.2 每个对象都提供服务
2.3 对象的创建与生命周期
三、实现
3.1 被隐藏的具体实现
3.2 复用具体实现
四、继承
4.1 单继承结构
五、多态
5.1 伴随多态的可互换对象
六、容器
七、异常处理:处理错误
八、并发编程
九、Java与Internet