计算机科学导论 169~170

面向对象模式

面向对象模式处理活动对象,而不是被动对象.我们在日常生活中遇到许多活动对象: 汽车, 自动门, 洗盘机等. 在这些对象上执行的动作都包含在这些对象中: 对象只需要接收合适的外部刺激来执行其中一个动作.
在面向对象模式中的文件能把所有的被文件执行的过程(在面向对象模式中称为方法)打包在一起, 这些过程有打印, 拷贝, 删除等.在这种模式中的程序仅仅向对象发出相应请求(打印, 拷贝, 删除),文件就会被打印, 拷贝或删除.


  1. 相同类型的对象(如文件)需要一组方法, 这些方法显示了这类对象对来自对象"领地"外的刺激的反应.为了创建这些方法, 面向对象语言使用称为"类"的单元.

  2. 方法
    方法的格式与有些过程式语言中用的函数非常相似. 每个方法有它的头, 局部变量和语句. 这就意味着我们对过程式语言所讨论的大多数特性都可以应用在为面向对象程序缩写的方法上.换言之, 我们可以认为面向对象语言实际上是带有新的理念和新的特性的过程式语言的扩展.

  3. 继承性
    在面向对象模式中, 作为本质, 一个对象能从另一个对象继承. 这个概念称为继承性. 当一般类被定以后, 我们可以定义它继承了一般类中一些特性的更具体的类. 例如, 当一个几何形状类被定以后, 我们就可以定义称为矩形的类. 矩形是具有额外特性的几何形状.

  4. 多态性
    多态性意思是"许多形状". 在面向对象模式中的多态性是指我们可以定义一些具有相同名字的操作, 而这些操作在相关类中做不同的事情. 例如, 我们定义了两个类: 矩形和圆, 都是从几何形状类继承下来的.我们定义名为area的两个操作, 一个在矩形类中, 一个在圆类中. 它计算矩形或圆的面积. 两个操作拥有相同的名字, 但做不同的事情, 因为计算矩形的面积和计算圆的面积需要不同的操作数和操作.


venmos
462 声望15 粉丝

Maccon, Emacscon, Lolicon, ACG. False geek, Looks like a quiet guy. Love open source, Loves photography and outdoor sports. Favorite programming language is Ruby and Lisp.


引用和评论

0 条评论