`
zhang_xzhi_xjtu
  • 浏览: 536385 次
  • 性别: 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

相关推荐

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

    1. **对象**:对象是面向对象程序设计的基本单位,它包含了数据和操作这些数据的方法。 2. **类**:类是一组具有相同属性和行为的对象的模板。通过类可以创建出具体的对象实例。 3. **消息**:在面向对象编程中,...

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

    面向对象的程序设计语言与面向过程的程序设计语言是两种主要的编程范式,它们各自具有独特的设计理念和方法。在编程领域,理解这两种语言的区别对于编写高效、可维护的代码至关重要。 面向过程的编程(Procedural ...

    面向过程、面向对象、面向组件、面向服务软件架构的分析与比较

    面向过程、面向对象、面向组件、面向服务软件架构的分析与比较 软件开发历程与架构演进 软件开发从汇编语言、过程式语言、面向对象、面向组件发展到面向服务,这一进程不仅反映了编程技术的不断进步,更是软件工程...

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

    "面向对象程序设计与面向过程程序设计的区别" 面向对象程序设计和面向过程程序设计是两种不同的编程思想,它们在设计理念、编程方式、代码结构等方面有着根本的区别。 面向过程程序设计 面向过程程序设计是一种...

    面向对象程序设计与VC++实践

    在"面向对象程序设计与VC++实践"的主题中,我们可以深入探讨以下几个关键知识点: 1. **面向对象编程基础**:包括类(Class)的概念,对象(Object)的创建,封装(Encapsulation),继承(Inheritance),多态...

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

    面向对象程序设计与面向过程程序设计的区别 面向对象程序设计是指一种程序设计思想,将问题域中的对象抽象成类,并定义类的属性和行为,然后通过对象之间的交互来解决问题。这种设计思想强调对象之间的交互和继承...

    面向对象程序设计课程设计题目

    课程设计的要求和规定是为了确保学生在学习过程中能够正确理解和掌握面向对象程序设计和 Java 编程语言。课程设计的要求和规定包括完成指定的课程设计题目、遵守课程设计的纪律、提交相关的资料等。 知识点4:课程...

    JAVA面向过程的程序设计

    因此,面向对象程序设计(OOP)应运而生。OOP的核心是对象,它模拟现实世界中的实体,具有状态(数据)和行为(方法)。对象的状态由属性(变量)来维护,行为通过方法来实现。比如,汽车这个对象可能有颜色、速度等...

    面向对象程序设计与c++语言 朱战立

    本书《面向对象程序设计与C++语言》由朱战立编写,旨在帮助读者深入理解面向对象编程思想以及如何在C++中实现这些思想。书中可能涵盖了以下几个方面的内容: 1. **面向对象基础**:讲解对象、类、封装、继承、多态...

    面向对象程序设计

    面向对象程序设计是一种重要的编程范式,它基于“对象”的概念,强调数据和操作数据的方法紧密结合,以此构建复杂的软件系统。在本次课程设计任务中,学生们将运用C++语言,结合面向对象的思想来实现一系列的实际...

    c++面向对象程序设计第三版谭浩强教学大纲.pdf

    "C++面向对象程序设计第三版谭浩强教学大纲.pdf" 本资源摘要信息涵盖了C++面向对象程序设计的基本概念、数据存储、程序设计初步、函数、数组、指针、用户自定义数据类型、类和对象的程序设计等方面的知识点。 第一...

    9--面向对象程序设计.pdf

    与传统的面向过程程序设计相比,面向对象程序设计把对象作为程序设计的基础,通过对象的属性和方法来描述问题空间中的实体。 面向对象程序设计的核心概念包括封装、继承和多态。封装是面向对象的基础,它将数据...

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

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

    浅谈面向对象程序设计

    本文将深入探讨面向对象程序设计的核心概念、特点以及它与面向过程编程的主要区别。 ### 一、面向对象程序设计的概念 面向对象的程序设计方法强调的是自底向上的功能综合,其核心思想是通过识别和建模现实世界中的...

    面向对象程序设计教程与visual c++6.0教程 经典课件与试题 期末考试 本科

    例如,“12311面向对象程序设计与VC6教程1”这样的文件很可能是练习题或案例分析,你应该仔细研究并尝试自己编写代码。 总的来说,本教程的目标是让你不仅理解面向对象编程的理论,还能熟练运用Visual C++ 6.0进行...

    C++面向对象程序设计教程——课件PPT

    在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版。这套教程通过一系列的PPT章节,详细讲解了C++面向对象编程的关键概念。 首先,第1章“面向...

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

    总的来说,“面向对象程序设计与C++语言”是一门深入学习编程思维和C++特性的课程,适合初学者逐步掌握面向对象编程的精髓。通过仔细研究和实践,可以提高编程技能,为未来更复杂的软件开发打下坚实基础。在学习过程...

Global site tag (gtag.js) - Google Analytics