`
zhang_xzhi_xjtu
  • 浏览: 524305 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

面向过程,面向对象与程序设计

阅读更多

有一种说法,说是一个长时间搞面向过程的人(搞c的人)很难理解OO的精髓,很难做出好的OO设计。

以前我也是同意这种说法的,不过那是在学校的时候。

 

现在我的观点是

不论面向过程还是面向对象,要做一个好的设计,必须掌握足够的计算机底层知识。

 

1 最根本的理由,软件开发是在计算机上的,因此,天然的要受到计算机的限制。计算机对程序的执行过程本身就是一个过程,其他任何的高级概念都是建立在这个基础之上的一个抽象。因此,有必要了解计算机是怎么执行这个程序的,不论该程序是用什么语言写的。

2 学习面向过程语言的时候有更多的机会了解计算机系统底层,以及数据结构,算法的一些知识。这个当然是因人而异的,并不是说一个学c的人一定在这些方面比学java的人强。但是,平均而言,的确是这样的,这个还是有很多调查数据做支持的。

3 OO只是站在一个更高的层次去思考问题,只是思考问题的时候,忽略掉了很多细节的问题。但是,这并不代表不需要知道底层的东西。一个不懂得基本排序算法的人,一个不懂bit和byte区别的人,一个不懂计算机存储层次的人,你能相信他能做出一个好的设计,真正的用好OO吗。

4 某些非功能特性,比如安全,面向过程面向对象在这个时候已经是实现细节了。

2
0
分享到:
评论
2 楼 RednaxelaFX 2009-04-29  
zhang_xzhi_xjtu 写道
一个不懂bit和byte区别的人

哈哈,说起这个我想起“回字的四种写法”了——现在的常识是一个byte是8个bit,不过以前一个byte到底是多少bit并不是固定的,而octet才是确定的为8个bit的单位。

想引用以前一个朋友跟我说的:“要让中国的计算机专业学生都去以逆向工程为实践做些作业的话,基础肯定能打得扎扎实实的” ^ ^
1 楼 night_stalker 2009-04-29  
MIT 的 lisper 们: 类和继承只是语法糖,多态只是基于类型的消息分发,这些东西几十年前在 lisp 里就有了。
Linus Torvalds: 老实说,我们选择C就是为了把C++程序员踢出去。
http://blog.csdn.net/turingbook/archive/2007/09/07/1775488.aspx

相关推荐

    面向对象的程序设计语言与面向过程的程序设计语言.docx

    面向对象的程序设计语言与面向过程的程序设计语言 面向对象的程序设计语言与面向过程的程序设计语言全文共3页,当前为第1页。 面向对象的程序设计语言与面向过程的程序设计语言全文共3页,当前为第1页。 首先C面向...

    面向对象与面向过程的程序设计方法比较.pdf

    面向对象与面向过程的程序设计方法比较.pdf主要介绍了面向对象与面向过程在程序设计方面的比较,指出了面向对象程序设计方法的优势。

    JAVA面向过程的程序设计

    面向对象程序设计中的对象是现实世界对象的模型化,它同样具有状态和行为。–对象的状态用属性来维护, –对象的行为用方法来实现。•因此可以简单地讲,对象是面向对象的程序设计模式,它由描述状态的属性(变量)...

    C++面向对象程序设计课后答案

    面向对象程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,能够较好地支持程序代码的复用。 2.面向对象程序设计语言有四个特征: ⑴ 抽象性 ---- 许多实体的共性产生类。 ⑵ ...

    面向对象程序设计

    面向对象程序设计,、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; 2)、系统设计要实用,编程简练,可用,功能全面 3)、说明书、流程...

    面向对象程序设计课程设计——学生成绩管理系统

    正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。了解当前常用...

    JavaScript程序设计课件:面向对象概述.pptx

    面向过程与面向对象 6.1.1 面向过程与面向对象 1、概念 面向过程(Procedure Oriented)也可称之为“面向记录”,是一种以过程为中心的编程思想。它注重的是具体的步骤,只有按照步骤一步一步执行,才能够完成某件...

    C++_面向对象程序设计_谭浩强 word完整版

    第2篇 面向过程的程序设计 第3章 程序设计初步 第4章 函数与预处理 第5章 数组 第6章 指针 第7章 自定义数据类型 第3篇 基于对象的程序设计 第8章 类和对象 第9章 关于类和对象的进一步讨论 第10章 运算符...

    (完整版)面向对象程序设计与面向过程程序设计的区别1.doc

    (完整版)面向对象程序设计与面向过程程序设计的区别1.doc

    面向过程的程序设计.ppt

    面向过程程序设计教学PPT,面向对象技术,C++类与对象,C++类的继承与派生,多态与虚函数

    《C--面向对象程序设计》习题与上机解答-提交稿-陈维兴

    封装是面向对象程序设计方法的一个重要特性,所谓封装具有两方面的含义:一是将有关的数据和操作代码封装在一个对象中,各个对象相对独立、相不干扰。二是将对象中某些数据与操作代码对外隐蔽,即隐蔽其内部细节,只留下...

    第一章JAVA面向对象的程序设计.doc

    面向对象的程序设计思想:以对象作为基本单位,以消息为驱动,事件模型为处理机制。 4:以后发展:基于组件(构件模型)、以中间件作为程序的构加基础等等,实现软件标准化 5:面向对象语言:C++、VB、Delphi及JAVA...

    《C语言面向对象程序设计》经典课件完整版

    谭浩强《C++面向对象程序设计》面向过程部分经典课件完整版

    (完整版)面向对象程序设计与面向过程程序设计的区别(2).doc

    (完整版)面向对象程序设计与面向过程程序设计的区别(2).doc

    面向对象的程序设计语言——C++

    1.结构化程序设计方法与面向对象程序设计方法的各自特点、区别和相互联系。 2.面本向对象的程序设计方法中的有关概念,如类、对象、封装、继承、消息和多态性等。 3.C++程序的基本组成和框架结构。 4.掌握C++...

    从面向过程到面向对象

    在这期间,程序设计语言主要经历了从面向过程(如C和Pascal语言)到面向对象(如C++和Java语言),再到面向组件编程(如.NET平台下的C#语言),以及正在快速发展的面向服务架构技术(如SOA和WebService)。

    C++面向对象程序设计(谭浩强)

    本书是在《C++程序设计》一书的基础上改写而成的。本书没有重新学习面向过程程序设计的部分,而直接从面向对象程序设计入手的。

    c++面向对象程序设计 谭浩强(第二版)习题答案

    c++面向对象程序设计 C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能...

    Java面向对象程序设计教程.pdf

    java 面向对象 程序设计 由浅到深描述了java面向对象编程的方法和分析过程

    面向过程和面向对象的程序设计

    资源共享!希望能给大家带来帮助!

Global site tag (gtag.js) - Google Analytics