OO中的普遍性和抽象性

原创 2007年09月24日 09:24:00

概要

       OO所要解决的事情首先是找出事物的共性、分离事物,然后是抽象不同事物的共同行为模型,通过行为来聚合某些事物,通过某些机制来简化事物之间的关联。这也就是OO方法论中的普遍性和抽象性。本文简单地描述了OO的普遍性和抽象性。

       关键词 OO,抽象性,具体,普遍性

目录

概述... 1

OO基本特点... 1

OO普遍性... 2

OO抽象性... 2

结束语... 2

概述

当软件越来越复杂,面向过程的方法论无以承受这种复杂的时候,面向对象(OO)的方法论出现了。软件的复杂度可表现为两个方面,一个是事物的繁多,二个是事物之间的联系错综复杂。OO所要解决的事情首先是找出这些事物的共性、分离事物,然后是抽象不同事物的共同行为模型,通过行为来聚合某些事物,通过某些机制来简化事物之间的关联。这也就是OO方法论中的普遍性和抽象性。

OO基本特点

         OO是一种视事物为程序世界中的对象的方法论,它使用GeneralizationAbstraction来归纳和抽象事物的本质特征和共同行为。OO有三个基本特点,那就是封装、继承、多态。封装是对事物的变化的封装,这种变化是使软件趋于复杂的根本原因;继承是处理事物的普遍性和特殊性的一种机制,它更多的注重的是对事物的固有属性的处理;多态用于处理同类事物的不同的行为特征。

OO普遍性

         世界中的事物具有普遍性和特殊性。如哲学中提到的“黑马和白马都是马“,在这句话中,”马“相对”黑马“或/和”白马“具有普遍性,而”黑马“或/和”白马“相对“马”则是特殊的。因此使用OO分析某个系统的时候,我们需要找出这种普遍和特殊。在一般的情况下,特殊的事物相对普遍的事物的区别在于本质特征的不同。如“马“具有”颜色“这一本质特征,”黑马“和”白马“就是“颜色”特殊化了的马。这也就是OO中的继承。因此,继承通过事物的本质特征来区分普遍性和特殊性的事物,这种本质特征包括事物的固有属性也包括事物的固有行为。从某种程度上来说,这也是一种抽象。不过这种抽象是基于事物的本质特征的。

OO抽象性

         OO的世界中,抽象上必不可少的,它往往表现为对事物行为的抽象。而这种行为的抽象主要表现在两个方面:同类事物的不同行为的抽象;不同事物的相同行为的抽象。同类事物的不同的行为特征,我们很容易进行区分,因为人们一直都在关注这一点。不同事物的相同行为往往都是很隐蔽的,需要我们去努力挖掘,比如说卵生动物都是产“卵”来繁育后代的,这是动物学家通过很久的探索和研究才得出的结论。

结束语

因为事物的行为可能因为这样和那样的原因,它们很容易发生变化。所以我们需要通过OO的封装来隔离这种变化。“变化”是一个开放性的词语,它可以用“形容词”来修饰,也可以给它添加“宾语”。往往,在解决具体问题的时候,我们谈论的变化都是具体的。而这种具体的变化是存在共性的,因为它们都是变化。

因此,我们需要通过抽象事物的不同行为,通过OO的封装来隔离这些变化。而对于变化的普遍性和特殊性,我们可以使用OO的继承来进行处理。

 

相关文章推荐

南方多雨,随时下雨并不鲜见,这一现象具有普遍性。但正好在大火就要烧到陈毅时下起雨来,又觉得太巧,巧得让人想到迷信,想到命该如此。是呀,如果这时不下雨,陈毅还会是

陈毅是怎样躲过熊熊烈火的 禾青/文 上世纪大约八十年代,有部写红军长征北上以后,网站地图,陈毅留在赣南梅山坚持斗争的电影,好像名叫《梅岭星火》。剧中有个情节不知道大家还记得不记得:陈毅带领伤病...

面向对象程序设计具有4个共同特征:抽象性、封装性、继承性和多态性

面向对象程序设计具有4个共同特征:抽象性、封装性、继承性和多态性

刚毕业新员工们三个普遍性的缺点

刚毕业新员工们三个普遍性的缺点 --> 一、知识面的缺乏,眼界的狭窄。现在毕业生我发现普遍书看的太少,除了考试科目和学习直接相关的书籍,其他课外书籍他们很少涉及。虽然现在影视作品非常的...

A Functional Pattern System for oo design

  • 2013年02月06日 06:34
  • 975KB
  • 下载

【OO】深入理解ABAP Object Step by Step (二)

第一篇step by step 整理的是如何创建类,并生成类的对象来调用类的方法,这一边着重理解类与类的关系。 1,继承。 类所具有的特征: A.类是可以被继承 B.所有类都是从一个OBJ...

OO design book

  • 2010年01月16日 10:29
  • 1.72MB
  • 下载

OO方法、RUP与UML建模(讲义)

  • 2008年02月10日 10:12
  • 881KB
  • 下载

OO六大设计原则总结(上层码农必会)

一直以来都严格遵循OO的原则来进行开发(用的工具是C++和Qt) 什么是设计原则? 设计原则是基本的工具,应用这些规则可以使你的代码更加灵活、更容易维护,更容易扩展。 基...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OO中的普遍性和抽象性
举报原因:
原因补充:

(最多只允许输入30个字)