疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

什么是面向对象


 

       Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一个的类组成。
Java完全支持使用对象、类、继承、封装、消息等基本概念来进行程序设计,允许从现实世界中客观存在的事物(即对象)出发来构造软件系统,在系统构造中尽可能运用人类的自然思维方式。实际上,这些优势是所有面向对象编程语言的共同特征。面向对象的方式实际上由OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个部分有机组成,其中,OOA和OOD的结构需要使用一种方式来描述并记录,目前业界统一采用UML(统一建模语言)来描述并记录OOA和OOD的结果。
       目前UML的最新版本是2.0,它一共包括13种类型的图形,使用这十三种图形中的某些就可以很好地描述并记录软件分析、设计的结果。通常而言,我们没有必要为软件系统绘制13种UML图形,常用的UML图形有用例图、类图、组件图、部署图、顺序图、活动图和状态机图,本章将会介绍UML图的相关概念,也会详细介绍这七种常用的UML图的绘制方法。
面向对象
         在目前的软件开发领域有两种主流的开发方法:结构化开发方法和面向对象开发方法,早期的编程语言如C、Basic、 Pascal等都是结构化编程语言;随着软件开发技术的逐渐发展,人们发现面向对象可以提供更好的可重用性、可扩展性和可维护性,于是催生了大量的面向对象的编程语言,如C++, Java, C#和Ruby
结构抬程序设计简介
结构化程序设计方法主张按功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模块化等。结构化程序设计首先采用结构化分析(Stru(trued Analysis,即SA)方法对系统进行需求分析,然后使用结构化设计(Structrued Design,即SD) 方法对系统进行概要设计、详细设计,最后采用结构化编程(Structrued Program,即SP) 方式来实现系统。使用这种SA, SD和SP的方式可以较好地保证软件系统的开发进度和质量。
        因为结构化程序设计方法主张按功能把软件系统逐步细分,因此这种方法也被成为面向功能的程序设计方法;结构化程序设计的每个功能都负责对数据进行一次处理,每个功能都接受一些数据,处理完后输出一些数据,这种处理方式也被称为面向数据流的处理方式。
        结构化程序设计里最小的程序单元是函数,每个函数都负责完成一个功能,用以接受一些输入数据,函数对这些输入数据进行处理,处理结束后输出一些数据。整个软件系统由一个一个函数组成,其中作为程序入口的函数被称为主函数,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能。图2.1显示了结构化软件的逻辑结构示意图。
        从图2.1可以看出,结构化设计需要采用自顶而下的设计方式,在设计阶段就需要考虑每个模块应该分解成哪些子模块,每个子模块又分解成哪些更新的模块……以次类推,直至将模块细化成一个一个函数.
         每个函数都是具有输入、输出的子系统,函数的输入数据包函数形参、全局变量和常量等,函数的输出数据包括函数返回值以及传出参数等.结构化程序设计方式的局限性有如下两个:
        1.设计不够直观,与人类习惯思维不一致。采用结构化程序分析、设计时,开发者需要将客观世界模型分解成一个一个功能,每个功能用以完成一定的数据处理。
        2.适应性差,可扩展性不强。由于结构化设计采用自顶而下的设计方式,所以当用户的需求发生改变,或需要修改现有的实现方式时,都需要自顶而下地修改模块结构,这种方式的维护成本相当大。(摘自[疯狂JAVA讲义].李刚)