有一种说法,说是一个长时间搞面向过程的人(搞c的人)很难理解OO的精髓,很难做出好的OO设计。
以前我也是同意这种说法的,不过那是在学校的时候。
现在我的观点是
不论面向过程还是面向对象,要做一个好的设计,必须掌握足够的计算机底层知识。
1 最根本的理由,软件开发是在计算机上的,因此,天然的要受到计算机的限制。计算机对程序的执行过程本身就是一个过程,其他任何的高级概念都是建立在这个基础之上的一个抽象。因此,有必要了解计算机是怎么执行这个程序的,不论该程序是用什么语言写的。
2 学习面向过程语言的时候有更多的机会了解计算机系统底层,以及数据结构,算法的一些知识。这个当然是因人而异的,并不是说一个学c的人一定在这些方面比学java的人强。但是,平均而言,的确是这样的,这个还是有很多调查数据做支持的。
3 OO只是站在一个更高的层次去思考问题,只是思考问题的时候,忽略掉了很多细节的问题。但是,这并不代表不需要知道底层的东西。一个不懂得基本排序算法的人,一个不懂bit和byte区别的人,一个不懂计算机存储层次的人,你能相信他能做出一个好的设计,真正的用好OO吗。
4 某些非功能特性,比如安全,面向过程面向对象在这个时候已经是实现细节了。
分享到:
相关推荐
面向对象的程序设计语言与面向过程的程序设计语言 面向对象的程序设计语言与面向过程的程序设计语言全文共3页,当前为第1页。 面向对象的程序设计语言与面向过程的程序设计语言全文共3页,当前为第1页。 首先C面向...
面向对象与面向过程的程序设计方法比较.pdf主要介绍了面向对象与面向过程在程序设计方面的比较,指出了面向对象程序设计方法的优势。
面向对象程序设计中的对象是现实世界对象的模型化,它同样具有状态和行为。–对象的状态用属性来维护, –对象的行为用方法来实现。•因此可以简单地讲,对象是面向对象的程序设计模式,它由描述状态的属性(变量)...
面向对象程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,能够较好地支持程序代码的复用。 2.面向对象程序设计语言有四个特征: ⑴ 抽象性 ---- 许多实体的共性产生类。 ⑵ ...
面向对象程序设计,、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; 2)、系统设计要实用,编程简练,可用,功能全面 3)、说明书、流程...
正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。了解当前常用...
面向过程与面向对象 6.1.1 面向过程与面向对象 1、概念 面向过程(Procedure Oriented)也可称之为“面向记录”,是一种以过程为中心的编程思想。它注重的是具体的步骤,只有按照步骤一步一步执行,才能够完成某件...
第2篇 面向过程的程序设计 第3章 程序设计初步 第4章 函数与预处理 第5章 数组 第6章 指针 第7章 自定义数据类型 第3篇 基于对象的程序设计 第8章 类和对象 第9章 关于类和对象的进一步讨论 第10章 运算符...
(完整版)面向对象程序设计与面向过程程序设计的区别1.doc
面向过程程序设计教学PPT,面向对象技术,C++类与对象,C++类的继承与派生,多态与虚函数
封装是面向对象程序设计方法的一个重要特性,所谓封装具有两方面的含义:一是将有关的数据和操作代码封装在一个对象中,各个对象相对独立、相不干扰。二是将对象中某些数据与操作代码对外隐蔽,即隐蔽其内部细节,只留下...
面向对象的程序设计思想:以对象作为基本单位,以消息为驱动,事件模型为处理机制。 4:以后发展:基于组件(构件模型)、以中间件作为程序的构加基础等等,实现软件标准化 5:面向对象语言:C++、VB、Delphi及JAVA...
谭浩强《C++面向对象程序设计》面向过程部分经典课件完整版
(完整版)面向对象程序设计与面向过程程序设计的区别(2).doc
1.结构化程序设计方法与面向对象程序设计方法的各自特点、区别和相互联系。 2.面本向对象的程序设计方法中的有关概念,如类、对象、封装、继承、消息和多态性等。 3.C++程序的基本组成和框架结构。 4.掌握C++...
在这期间,程序设计语言主要经历了从面向过程(如C和Pascal语言)到面向对象(如C++和Java语言),再到面向组件编程(如.NET平台下的C#语言),以及正在快速发展的面向服务架构技术(如SOA和WebService)。
本书是在《C++程序设计》一书的基础上改写而成的。本书没有重新学习面向过程程序设计的部分,而直接从面向对象程序设计入手的。
c++面向对象程序设计 C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能...
java 面向对象 程序设计 由浅到深描述了java面向对象编程的方法和分析过程
资源共享!希望能给大家带来帮助!