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的继承来进行处理。

 

抽象类的基本特点和抽象类与一般类的异同

抽象类:   如果多个对象同时具备某一个功能,但是这个功能的内容  却不同,那么这个功能就是抽象的。   例如:    class DemoA    { void show() {      Syst...
  • u010885095
  • u010885095
  • 2014年01月30日 09:33
  • 1838

抽象类、抽象方法、抽象属性

在一个类前面加上“abstract”关键字,此类就成为了抽象类。一个方法类前面加上“abstract”关键字,此方法就成为了抽象方法。 抽象类一般用于表达一种比较抽象的事物,比如前面所说的“水果”,...
  • brightyanmin
  • brightyanmin
  • 2016年05月05日 16:25
  • 3156

Java 抽象类、普通类、接口的区别——值得你一看的干货

【概念】 抽象类、具体类是相对的,并非绝对的。抽象是一种概念性名词,具体是一种可见可触摸的现实对象。概念越小,则其抽象程度就越大,其外延也越大,反之亦然。简单说,比如“人”比“男人”抽象...
  • csdn_aiyang
  • csdn_aiyang
  • 2017年05月04日 16:26
  • 2224

表变量特点补充,为什么表变量在大数据情况下普遍性能不佳

之前有写一篇文章 http://blog.csdn.net/starseeker7/article/details/8621046 今天看到论坛上在讨论这个东西,顺便更详细的补充一下 --2...
  • starseeker7
  • starseeker7
  • 2014年06月07日 17:24
  • 937

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

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

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

面向对象程序设计具有4个共同特征:抽象性、封装性、继承性和多态性
  • gdut2015go
  • gdut2015go
  • 2015年10月08日 16:13
  • 2005

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

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

数据结构抽象性实验——关于B树的基本操作及报告

  • 2016年12月20日 16:30
  • 937KB
  • 下载

[OO] 信息系统 面向对象分析设计教程 英文版

  • 2014年11月08日 22:20
  • 9.85MB
  • 下载

57oo电影全站最新V7版

  • 2008年09月16日 20:39
  • 2.05MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OO中的普遍性和抽象性
举报原因:
原因补充:

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