您的位置:首页 > 其它

TIJ 第一章 对象导论

2013-11-29 20:41 162 查看
1.1 抽象过程

对象:具有状态(内部数据)、行为(方法)和标识(在内存中有唯一的地址将其与其他对象区分开)。

Smalltalk,被公认为历史上第二个面向对象程序设计语言,和第一个真正的集成开发环境(IDE)。Smalltalk由艾伦·凯,DanIngalls,TedKaehler,AdeleGoldberg等于70年代初在Xerox
PARC开发。
Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:C++C#Objective-CActorJavaRuby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式敏捷编程代码重构等。

1.2 对象包含接口

这里所说的接口,即类中的方法函数,每个对象都只能满足某些请求,这些请求由对象的接口所定义,决定接口的是类型。

1.3 每个对象提供服务

开发的目标就是创建一系列对象,来提供服务解决问题。将问题分解为对象的集合。

1.4 被隐藏的具体实现

将程序开发人员分为类创建者(创建数据类型),客户端程序媛(组合各个类使用来解决问题);这样屏蔽了内部结构,一方面防止触及不该触及的代码,另一方面底层修改对客户端程序媛也是透明的。

Java内部设定边界的三个关键字:public private protected

1.5 复用具体实现

复用,使用某个类的对象,或使用现有类构造新的类(组合,has-a),汽车和引擎。

在建立新类时,最先考虑组合,再考虑继承。

1.6 继承

覆盖(overriding)重写基类中继承过来的方法。导出类(子类)中可以添加新方法。

1.7 伴随多态的可互换对象

OOP中,后期绑定,程序直到运行时,才确定代码的地址。C++中用virtual关键字实现动态绑定,而java中默认动态绑定,通过使用一小段代码代替绝对地址调用。

Upcasting向上转型,形参为父类,传入实参为子类时,可以正确运行相应代码。

1.8 单根继承结构

Java类继承于Object类,单根继承保证所有类共同具备某些功能,使垃圾回收变得容易。

java.lang.Object
1.9 容器

List Map set 堆栈 队列 树 等,解决某个问题需要多少个对象,需要如何存储这些对象。

向下转型,具有一定危险性,

想到了参数化类型,java中称为泛型

ArrayList<Shape> shapes=new ArrayList<Shape>();

1.10对象的创建和生命期

Java采用动态分配内存的方式,每当要创建新对象时,用new关键字创建。Java的垃圾回收器被设计用来处理内存释放问题。

1.11异常处理

异常是一种对象,它从出错地点被抛出,有专门的处理器捕获,像程序执行的另一条路径。

1.12并发编程

线程通常只是一种为单一处理器分配执行时间的手段。多处理器可以实现真正的并行。存在的隐患:共享资源。

1.13Java与internet

Java客户端编程,applet并没有真正用起来。服务端编程较为成功。

OOP和java并不是适合所有的人,要选择满足自己需求的,在可预见的未来的需求。

最后一段有些意外的是,作者推荐去看python...或许不能拘泥于一种语言吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: