JAVA编程思想学习笔记(一)

对象导论

1.1 抽象过程

Smalltalk的五个基本特性:

  1. 万物皆为对象。
  2. 程序是对象的集合,它通过发送消息来告知彼此所要做的。
  3. 每个对象都有自己的由其他对象所构成的存储。
  4. 每个对象都有其类型。
  5. 某一特定类型的所有对象都可以接受同样的消息。

1.2 每个对象都有一个接口

类描述了具有相同特性(数据元素)和行为(功能)的对象集合,所以一个类实际上就是一个数据类型。
例如:浮点型具有相同的特性和行为集合。

1.3 每个对象都提供服务

当正在试图开发或理解一个程序时,最好的方法就是将对象想象为“服务提供者”。
将对象看做是服务提供者有一个附带的好处:有助于提高对象的内聚性

1.4 被隐藏的具体实现

被隐藏的部分通常代表对象内部脆弱的部分,他们容易被粗心的客户端程序员所毁坏,因此隐藏起来可以减少程序bug

1.5 复用的具体实现

一个类被创建并测试完,那么它就应该是一个有效的代码单元。代码复用是面向对象程序设计语言所提供的最了不起的优点之一。
组合:新的类可以由任意数量、任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。
组合带来了极大的灵活性,而继承并不具备这样的灵活性。

1.6 继承

继承使用基类型和导出类型的概念表示了类型之间的相似性。一个基类包含其所有导出类型所共享的特性和行为。
导出类和基类差异的方法:
6. 直接在导出类添加新方法。使用时应该考虑是否基类有需要这些新的方法。
7. 覆盖:改变现有基类的方法的行为。

1.7 伴随多态的可互换对象

非面向对象编程的编译器产生的函数调用会引起所谓的前期绑定,面向对象使用的是后期绑定。在某些语音中,需要特别声明,如:C++中的virtual关键字。
向上转型: 将导出类看做是它的基类的过程。

1.8 单根继承结构

包括除C++以外的所有OOP语言最终都是继承自单一的基类:Object。
C++这么做是为了更好的适应C模型,而且受限较少。
单根继承结构好处:会有更高的生产率;参数传递得到了极大的简化;垃圾回收器实现变得容易的多。

1.9 容器

单一类型的容器可以满足所有需要,如Object容器,可以放下所有类型,但是还是需要不同类型的容器。

  1. 不同容器提供了不同类型的接口和外部行为。
  2. 不同容器对于某些操作具有不同的效率。

1.10 对象的创建和生命周期

Java采用动态内存分配方式。想要创建新对象时,就要使用new关键字构建此对象的动态实例。

1.13Java与Internet

客户/服务器的核心思想:系统具有一个中央信息存储池,可以根据需要分发给某些人员或机器集群。

猜你喜欢

转载自blog.csdn.net/qq4131533523/article/details/83098239