首页 > 软件设计 > 面向对象语言VS 面向过程语言学习摘要

面向对象语言VS 面向过程语言学习摘要

2010年5月1日 admin 发表评论 阅读评论

今天早上打算学习一些面向对象语言的基本原理,也不打算找一本著作仔细阅读了,就从网络上搜索一些有用的信息,做个记录。

过程语言VS面向对象语言VS通用式编程

过程语言是使问题与语言相适应,他关注的是数据和算法,他一般使用自上而下的设计方式,即把一个未知的大问题分解成一个一个可解或容易求解的子问题,然后最终把问题解决。

面向对象语言是使语言与问题相适应,他关注的是类,即如何描述问题域中的对象,他一般使用的是自下而上的设计方式,即先为问题域中的每个对象建立用于描述这些对象的类,然后通过类之间的交互描述整个问题。

通用式编程,或者称为模板编程,他强调的是算法方面,他提出一种通用的,与数据类型无关的算法结构。

——感觉说的有点问题?

 

过程式语言与面向对象语言的区别

过程式语言与面向对象语言,到底有什么区别?可能是初学者常碰到的问题。简单来说,过程式语言整个是构建在动词上的语言。比如,最常见的经典过程式语言- C语言,打印一条语句的语法是printf(), 这个方法的名字本身就是一个动词,这个动词强调了一个动作的过程,所谓过程式就是这个意思。

同样的方法在面向对象的JAVA中就是这样写:System.out.println();  前面说过面向对象语言就是构建在名词基础上的系统,对象就是一个名词。大家都知道对象封装了操作和属性,所以System是一个对象,后面跟上分类在 out目录下的方法println。 这就是面向对象的写法。

谈谈面向对象的编程语言和面向过程编程语言的不同

总体而言,面向对象简单,面向过程对人员要求素质过高 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

艾兰.库伯的《软件创新之路》中提到: 面向过程和面向对象的区别并不像人们想象得那么大 面向对象的大部分思想在面向过程中也能体现 但面向过程最大的问题(也许是唯一先天的缺陷)在于随着系统的膨胀,面向过程将无法应付,最终导致系统的崩溃 面向对象的提出正是试图解决这一软件危机 目前看来,似乎有一定成效 但仍任重道远。

其实我始终认为,不管是面向对象,还是面向过程,都体现了一种软件重用的思想! 只不过面向过程中重用的是过程和函数,但是面向对象重用的是类,一种将数据和处理数据的过程及函数封装在一起的实体,其实面向对象中的过程和函数和面向过程中的分别不是很大,所以数据流图和伪代码还是有用的。 面向对象一个很大的好处就是数据 和方法的封装,由此面向对象的三大特性得到发挥

分类: 软件设计 标签:
  1. 2010年5月1日11:17 | #1

    文章写的不错,帮你顶顶!

  2. 子庚
    2010年12月20日10:44 | #2

    很好,学习了.

  1. 本文目前尚无任何 trackbacks 和 pingbacks.