编程思想读书笔记第一章对象导论
2017-01-26 09:20
204 查看
1.1抽象的过程
万物皆对象
程序是对象的集合,他们通过发送消息来告知彼此所要做的
每个对象都有其类型
某一特定类型的所有对象都可以接受同样的消息
问题空间的元素以及在解空间中的表示叫对象
1.2每个对象都有一个接口
类描述了具有相同特性(数据元素)和行为(功能)的对象的集合
一个类实际上是一个数据类型,例如所有的浮点数具有相同的特性和行为集合
如
一个简单的比喻Light it = new Light(); it.on();
在类型中,每一个可能的请求都有有一个接口,接口确定了某一特定对象所能发出的请求。
1.3每个对象都提供服务
开发或者理解一个程序的最好方法之一就是将对象想象为一个服务的提供者。程序本身就是想用户提供服务,他通过调用其他对象的服务来完成这个目的。而我们的目标就
是去创建(最好去代码库中拿)能够提供理想服务来解决这一问题。对象之中放对象,即一个服务可能需要两个以上的其他服务有利于内聚。这也是组合的好处
1.4别隐藏的具体实现
将程序开发人员分为类创建者(那些创建新数据类型的程序员)和客户端程序员(那些在某应用中使用数据类型的类消费者)。类创建者只向客户端程序员暴露必要的部分
而隐藏其他的部分。类创建者可以随意修改为,客户端程序员不可以防止不知情者破坏=程序的结构。
访问控制的第一个原因就是让客户端程序员无法触及到他们不应该触及的地方。
第二个存在的原因就是允许类创建者可以改变类的内部工作方式二不用担心影响到客户端程序员。
三个关键字来设定类的内部边界,public private,protected 以及默认的
1.5复用具体实现
组合来复用对象has-a
1.6继承
is-a is-like-a
1.7伴随多态的可互换对象
参数的多态
1.8单根继承
所有对象都具有一个公用接口, 归根结底他们是相同的基本类型。方便垃圾回收机制。多跟继承会造成继承关系混乱。
1.9容器
创建另外一种对象类型,这种新的对象类型持有对其他对象的引用
单一容器不能满足所有需求所以要对容器有所选择两个原因一:不同容器的接口和行为不同,多个容器的某一类对问
题的解决比其他容器好,更灵活。二:不同容器对于某些问题的解决具有更高的效率。
1.91参数化类型
jdk1.5之前容器存储都是Object类型,这样的容器很难被复用,牵扯到了转型的问题需要向下转型,在转型问题上如果加上泛型就很难出错了。、
1.10对象的创建和生命周期
第一种方式c/c++,由程序员管理对象的生命周期,编写时确定。通过将对象放在堆栈(自动变量)或限域变量(scope variable)或静态存储区域
内来实现。将存储空间分配和释放置于有限考虑的位置。某些情况下是有价值的,但是其牺牲了灵活性。
第二种方式被称为堆的内存池动态地创建对象。运行时才会确定有多少对象,对象的类型是什么。
java的垃圾回收机制,知道何时对象不再使用并释放内存。这一点同所有对象都是继承自单根基类Object以及只能以一种方式创建对象(堆上)是十分重要的。
1.11异常处理:处理错误
异常处理一正常执行路径并行,
1.12并发编程
同一时刻处理多个任务
锁
1.13java与Internet
java解决万维网的程序设计问题
1.13.1Web是什么
1.客户端/服务器技术
核心思想是:系统具有一个中央信息存储池,用来存储某种数据,通常存在于数据库中,按需分配给某些人员或者机器集群。信息池的位置位于中央。
2.Web就是一台巨型服务器
1.13.2客户端编程
客户端编程
1.插件
插件提供了一个后门,使得可以再创建新的客户端编程语言
2.脚本语言
插件引发了脚本语言的开发
3.java开发applent
.13.31服务器端编程
万物皆对象
程序是对象的集合,他们通过发送消息来告知彼此所要做的
每个对象都有其类型
某一特定类型的所有对象都可以接受同样的消息
问题空间的元素以及在解空间中的表示叫对象
1.2每个对象都有一个接口
类描述了具有相同特性(数据元素)和行为(功能)的对象的集合
一个类实际上是一个数据类型,例如所有的浮点数具有相同的特性和行为集合
如
一个简单的比喻Light it = new Light(); it.on();
在类型中,每一个可能的请求都有有一个接口,接口确定了某一特定对象所能发出的请求。
1.3每个对象都提供服务
开发或者理解一个程序的最好方法之一就是将对象想象为一个服务的提供者。程序本身就是想用户提供服务,他通过调用其他对象的服务来完成这个目的。而我们的目标就
是去创建(最好去代码库中拿)能够提供理想服务来解决这一问题。对象之中放对象,即一个服务可能需要两个以上的其他服务有利于内聚。这也是组合的好处
1.4别隐藏的具体实现
将程序开发人员分为类创建者(那些创建新数据类型的程序员)和客户端程序员(那些在某应用中使用数据类型的类消费者)。类创建者只向客户端程序员暴露必要的部分
而隐藏其他的部分。类创建者可以随意修改为,客户端程序员不可以防止不知情者破坏=程序的结构。
访问控制的第一个原因就是让客户端程序员无法触及到他们不应该触及的地方。
第二个存在的原因就是允许类创建者可以改变类的内部工作方式二不用担心影响到客户端程序员。
三个关键字来设定类的内部边界,public private,protected 以及默认的
1.5复用具体实现
组合来复用对象has-a
1.6继承
is-a is-like-a
1.7伴随多态的可互换对象
参数的多态
1.8单根继承
所有对象都具有一个公用接口, 归根结底他们是相同的基本类型。方便垃圾回收机制。多跟继承会造成继承关系混乱。
1.9容器
创建另外一种对象类型,这种新的对象类型持有对其他对象的引用
单一容器不能满足所有需求所以要对容器有所选择两个原因一:不同容器的接口和行为不同,多个容器的某一类对问
题的解决比其他容器好,更灵活。二:不同容器对于某些问题的解决具有更高的效率。
1.91参数化类型
jdk1.5之前容器存储都是Object类型,这样的容器很难被复用,牵扯到了转型的问题需要向下转型,在转型问题上如果加上泛型就很难出错了。、
1.10对象的创建和生命周期
第一种方式c/c++,由程序员管理对象的生命周期,编写时确定。通过将对象放在堆栈(自动变量)或限域变量(scope variable)或静态存储区域
内来实现。将存储空间分配和释放置于有限考虑的位置。某些情况下是有价值的,但是其牺牲了灵活性。
第二种方式被称为堆的内存池动态地创建对象。运行时才会确定有多少对象,对象的类型是什么。
java的垃圾回收机制,知道何时对象不再使用并释放内存。这一点同所有对象都是继承自单根基类Object以及只能以一种方式创建对象(堆上)是十分重要的。
1.11异常处理:处理错误
异常处理一正常执行路径并行,
1.12并发编程
同一时刻处理多个任务
锁
1.13java与Internet
java解决万维网的程序设计问题
1.13.1Web是什么
1.客户端/服务器技术
核心思想是:系统具有一个中央信息存储池,用来存储某种数据,通常存在于数据库中,按需分配给某些人员或者机器集群。信息池的位置位于中央。
2.Web就是一台巨型服务器
1.13.2客户端编程
客户端编程
1.插件
插件提供了一个后门,使得可以再创建新的客户端编程语言
2.脚本语言
插件引发了脚本语言的开发
3.java开发applent
.13.31服务器端编程
相关文章推荐
- 第一章 对象导论
- 第一章 对象导论 1.1抽象过程
- Thinking in java4th读书笔记-第一章 对象导论
- 《Java编程思想》读书笔记-第一章/对象导论
- 第一章 对象导论 1.8-1.9
- 《Java 编程思想》对象导论第一章书摘与评论
- JAVA编程思想-第一章 对象导论
- 第一章 对象导论 1.2-1.7
- 第一章 对象导论
- Thinking in Java 读书笔记 第一章 对象导论
- JAVA编程思想第一章 对象导论
- Think in Java 阅读笔记 (第一章 对象导论)
- 第一章 对象导论
- 第一章 对象导论 1.1
- 第一章 对象导论 1.10-1.13
- Thinking in Java:第一章-对象导论(目前没得对象啊)
- Thinking in java第一章对象导论
- 第一章 对象导论
- java编程思想阅读心得——第一章对象导论
- Java编程思想笔记——第一章 对象导论