Java编程思想【1】

Alan Kay 总结了 Smalltalk 的五大基本特征。这是第一种成功的面向对象程序设计语言,也是Java 的基础
语言。通过这些特征,我们可理解“纯粹”的面向对象程序设计方法是什么样的:
(1) 所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。理论
上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。
(2) 程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那
个对象“发送一条消息”。更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个
子例程或函数。
(3) 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。所
以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度。
(4) 每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。其中,“类”( Class)
是“类型”( Type)的同义词。一个类最重要的特征就是“能将什么消息发给它?”。
(5) 同一类所有对象都能接收相同的消息。这实际是别有含义的一种说法,大家不久便能理解。由于类型为
“圆”( Circle)的一个对象也属于类型为“形状”( Shape)的一个对象,所以一个圆完全能接收形状消
息。这意味着可让程序代码统一指挥“形状”,令其自动控制所有符合“形状”描述的对象,其中自然包括
“圆”。这一特性称为对象的“可替换性”,是OOP 最重要的概念之一。

“类创建者”(创建新数据类型的人)以及“客户程序员”(在自己的应用程序中采用现成
数据类型的人;注释④)。 对客户程序员来讲,最主要的目标就是收集一个充斥着各种类的编程“工具
箱”,以便快速开发符合自己要求的应用。而对类创建者来说,他们的目标则是从头构建一个类,只向客户
程序员开放有必要开放的东西(接口),其他所有细节都隐藏起来。

“接口”( Interface)规定了可对一个特定的对象发出哪些请求。
private 在您与客户程序员之间竖起了一堵墙。
“ protected”(受保护的)与“ private”相似,只是一个继承的类可访问受保护的成员,但不能访问私有成员。

extent 尽管使用的函数接口未变,但它的新版本具有不同的表现

将一条消息发给对象时,如果并不知道对方的具体类型是什么,但采取的行动同样是正确的,这种情况就叫
作“多形性”( Polymorphism)。对面向对象的程序设计语言来说,它们用以实现多形性的方法叫作“动态
绑定”
抽象的基础类和接口
我们不想其他任何人实际创建基础类的一个对象,只对上溯造型成它,以便使用它们的接口

。这里的“违例”
( Exception)属于一个特殊的对象,它会从产生错误的地方“扔”或“掷”出来。随后,这个违例会被设计
用于控制特定类型错误的“违例控制器”捕获。

猜你喜欢

转载自blog.csdn.net/weixin_42462804/article/details/106800199