`

面向对象概念的提出

阅读更多

  

     面向对象中,一切都是由对象展开的,组织代码,封装数据。

  在台湾面向对象被翻译为了面向物件编程,这充分说明了,这种编程强调实体。

 

    下面就结合编程语言的发展史,聊一聊面向过程和面向对象。

     c语言由贝尔实验室研发,起初编程人员在使用时发现,一个大型的软件会有很多的方法和全局数据。频繁地在方法里调用外面的数据会使得程序的可扩充性下降。没有一个很好的封装,当想要扩充这个软件是非常困难的。

 

   起初、贝尔实验室的科研人员发现了结构体来把很多相似的变量放到一个结构体里面(比如把汽车发动机的属性全部扔到一个发动机的结构体里面)。

后来发现心的弊端又产生了,既然你都已经把所有的属性放到一起了,为什么不把操作这些属性的方法也放到这个所谓的结构体里面呢。

   于是诞生了c++语言把这个结构体叫做了类,使用class关键字来表示。这样就告别了传统的以方法为单位的设计方式,改成以类为单位来组织代码。

 

    面向对象相比于面向过程的优势

  优势只有在设计大软件,完成大任务的时候才能体现出来。

下面有几个很生动形象的例子来表述:

    1、比如描述一个开车的程序。

   使用面向对象:驾驶员、汽车、驾驶员开汽车(驾驶员调用开汽车的方法 )

  使用面向过程:踩离合,挂挡,踩油门,放离合。

  比较一下开车这个过程中,两个方式都差不多,没有体现出面向对象的优势。

是因为开车是一个简单的程序。如果要求设计一辆车,这个庞大的任务,这时、面向对象的优势就体现出来了。你只需要把汽车各个部件以类的形式分解出来,比如轮胎,挡风玻璃,发动机,座椅,逐个去解决。如果你用面向过程,完完全全地生产一辆汽车,这几乎是不可能完成的。

 

 

对象和类

以ood的角度,是先有对象后有类。一个从来没有见过汽车的人,能定义一个汽车类吗?
抽象是抽出相同的部分,一个好的抽象,构建出类很重要。

从oop的角度,先有代码先有类,再有对象。

 

分享到:
评论

相关推荐

    论文研究-基于并不可约元的面向对象概念格的属性约简.pdf

    提出了一种面向对象概念格的属性约简方法。首先介绍了求面向对象概念格中并不可约元的方法,进而给出了面向对象概念格的并不可约元的外延集与面向对象概念格的协调集和约简集之间的关系,在此基础上,给出面向对象...

    面向对象分析与设计

    《面向对象分析与设计(第3版)》作者基于长期丰富的经验,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题,非常适合实际系统和软件的开发者、系统分析师或构架师、项目经理阅读。《面向对象分析...

    Java与UML面向对象程序设计.pdf

    第2章介绍了面向对象的基本概念以及UML的一些基本知识。第3章阐述了如何使用Java来编写面向对象程序。第4章介绍面向对象的分析和设计。第5章使用这些面向对象观点分析了图形用户界面(GUI)和Java Swing类库。第6...

    论文研究-纵向合成背景的面向对象概念格属性约简.pdf

    提出了一种多背景纵向合成的面向对象概念格的属性约简方法,给出了面向对象概念格的属性近似算子真子集的定义,并给出了各子形式背景和合成形式背景的属性特征间的关系,在此基础上,给出了合成形式背景的属性近似...

    基于并不可约元的面向对象概念格的属性约简 (2014年)

    提出了一种面向对象概念格的属性约简方法。首先介绍了求面向对象概念格中并不可约元的方法,进而给出了面向对象概念格的并不可约元的外延集与面向对象概念格的协调集和约简集之间的关系,在此基础上,给出面向对象概念...

    面向对象空间数据模型构建研究

    面向对象空间数据模型构建研究,王珂,佘江峰,空间数据模型是GIS应用的关键和基础,其研究影响了整个GIS发展的历程。本文根据面向对象空间数据模型的相关概念和特点,提出了面向

    有关Java面向对象问题整理汇总

    从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编程思想,其以人类习惯的思维方式,用对象来理解和分析问题,使开发软件的方法与过程尽可能接近人类认识的世界、解决问题的思维方法与过程。

    软件测试毕业论文-大学软件专业可以参考

    面向对象的软件测试摘 要:如今,面向...鉴于此,提出了面向对象的测试技术!在此,本文通过翻阅大量的文献,总结出着实有效的面向对象的软件测试技术。首先,阐明面向对象软件测试的基本概念;然后,分别讨论分析和设计

    面向对象与UML资料

    面向对象设计的概念 21 面向对象的设计方法 21 第三章 UML概述 22 UML对软件工程的重大影响 22 UML的概念模型 22 UML的建模思想 23 第四章 用UML建模 24 第一节 建模概念 24 系统、模型和视图 24 概念和现象 25 数据...

    论文研究-面向对象XML数据查询的代价估计研究.pdf

    由于XML具有丰富的表达能力、自描述性和灵活性等优点,而面向对象的概念又具有很强的建模能力,将面向对象的概念引入到XML可以提高XML模式语言的建模能力。而面向对象XML数据查询的值匹配条件的查询代价估计问题是一种...

    横向合成背景的面向对象概念格的生成 (2015年)

    针对多形式背景合成的概念格生成,提出了一种多背景横向合成的面向对象概念格的生成方法。首先利用各个子形式背景中的每个概念的外延通过相关运算得到合成背景的面向对象概念格的外延集,然后将得到的外延集通过近似...

    matlab面向对象编程教程-A Guide to MATLAB Object-Oriented Programming - Register, CRC 2007.rar

    matlab面向对象编程教程-A Guide to MATLAB Object-Oriented Programming - Register, CRC 2007.rar 最近想好好学学matlab面向对象编程的一些东西(以前也自学过,但现在想系统学一下,libsvm工具箱几乎已经没有...

    基于UML的 面向对象软件分析与建模.rar

    摘要 提出一种简化需求分析和系统设计的 UML建模方法 ,以 用例图 表达系统需求,以设计 类图、协作图 表达系统的结构逻辑及行为逻辑,讨论了需求分析、系统设计及其建模的过程概念, 实现了 需求分析、 信息封装、...

    论文研究-基于版本信息的面向对象框架实例化模式挖掘.pdf

    基于框架的面向对象开发技术是实现大规模软件复用的一种有效的途径。由于框架本身层次的复杂性,往往导致框架实例化过程的...提出了一种基于版本信息获取面向对象框架的实例化模式的方法,从而辅助框架的实例化工作。

    JavaScript面向对象核心知识与概念归纳整理

    本文实例讲述了JavaScript面向对象核心知识与概念。分享给大家供大家参考,具体如下: 一、面向对象 1.1 概念 面向对象就是使用对象。面向对象开发就是使用对象开发。 面向过程就是用过程的方式进行开发。面向对象...

    论文研究-面向对象方法的功能点度量.pdf

    基于FPA,结合面向对象系统的特点,提出了一种面向对象方法的功能点,完成了从FPA方法到面向对象方法概念上的映射和度量规则上的映射,并给出了该方法具体的度量过程,为Web应用的度量奠定了坚实的理论基础。

    论文研究-面向对象的铁路超限货物轮廓计算方法.pdf

    从微观角度入手,结合面向对象思想,提出以三维实体对象描述、投影和综合为核心的超限货物轮廓计算方法。将超限货物视为独立对象,结合对象特征构造以基本体素分解和几何运算相结合的实体对象描述方法;投影对象后以...

    一种新的面向对象概念格属性约简方法 (2013年)

    为了研究概念格的属性约简方法,提出了面向对象概念格的可简化属性和不可简化属性,并研究相关性质.给出了面向对象概念格知识约简的判定定理,及相应的面向对象概念格约简方法.本文提出的属性约简方法,不用建立在...

    论文研究-面向对象设计中软件度量学:回顾与热点.pdf

    为了深入、详细、全面地研究面向对象软件度量,以1968年Rubey等人提出软件度量学的概念为起点,横跨四十余年,从度量方法的定义、理论验证、实验验证和辅助工具四个方面进行了阐述,并从软件内部属性、软件外部属性...

    Java编程思想面向对象逻辑思维方法

    Java编程思想面向对象逻辑思维方法 “对象(Object)”一词,早在十九世纪就有现象学大师胡塞尔提出并定义。对象是世界中的物体在人脑中的映象,是人的意识之所以为意识的反映,是做为一种概念而存在的先念的东西,它...

Global site tag (gtag.js) - Google Analytics