导航:首页 > 编程知识 > 理解面向对象对编程有什么帮助

理解面向对象对编程有什么帮助

发布时间:2023-03-19 06:45:25

❶ 什么是面向对象为什么要用面向对象来编程

面向对象分析属于软件开发过程中的问题定义阶段,其目标是清晰、精确地定义问题领域。传统的系统分析产生一组面向过程的文档,定义目标系统的功能;面向对象分析则产生一种描述系统功能和问题领域的基本特征的综合文档。 原则面向对象分析的主要原则如下。1.抽象从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征,就叫做抽象。抽象是形成概念的必须手段。抽象原则有两方面的意义:第一,尽管问题域中的事物是很复杂的,但是分析员并不需要了解和描述它们的一切,只需要分析研究其中与系统目标有关的事物及其本质性特征。第二,通过舍弃个体事物在细节上的差异,抽取其共同特征而得到一批事物的抽象概枣散念。抽象是面向对象方法中使用最为广泛的原则。抽象原则包括过程抽象和数据抽象两个方面。过程抽象是指,任何一个完成确定功能的操作序列,其使用者都可以把它看做一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。数据抽象是指根据施加于数据之上的操作来定义数据类型,并限定数据的值只能由这些操作来修改和观察。数据抽象是面向对象分析的核心原则。它强调把数据(属性)和操作(服务)结合为一个不可分的系统单位(即对象),对象的外部只需要知道它做什么,而不必知道它如何做。2.封装封装就是把对象的属性和服务结合为一个不可分的系统单位,并尽可能隐蔽对象的内部细节。3.继承特殊类的对象拥有的其一般类的全部属性与服务,称作特殊类对一般类的继承。在面向对象分析中运用继承原则,就是在每个由一般类和特殊类形成的一般—特殊结构中,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和服务,一次性地在一般类中进行显式定义。在特殊类中不再重复地定义一般类中已定义的东西,但是在语义上,特殊类却自动地、隐含地拥有它的一般类(以及所有更上层的一般类)中定义的全部属性和服务。继承原则的好处是:使系统模型比较简练也比较清晰。4.分类就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述时的一种表现形式。5.聚合聚合的原则是:把一个复杂的事物看成若干比较简单的事物的组装体,从而简化对复杂事物的描述。6.关联关联是人类思考问题时经常运用的思想方法:通过一个事物联想到另外的事物。能使人发生联想的原因是事物之间确实存在着某些联系。7.消息通信这一原则要求对象之间只能通过消息进行通信,而不允许在对象之外直接地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。在OOA中要求用消息连接表示出对象之间的动态联系。8.粒度控制一般来讲,人在面对一个复杂的问题域时,不可能在同一时刻既能纵观全局,又能洞察秋毫。因此需要控制自己的视野:考虑全局时,注意其大的组成部分,暂时不详察每一部分的具体的细节;考虑某部分的细节时则暂时撇开其余的部分。这凳坦氏就是粒度控制原则。9.行为分析现实世界中事物的行为是复杂的。由大量的事物所构成的问题域中各种行为往往相互依赖、相互交织。阶段面向对象分析过程可分为问题领域分析和应用分析两个阶段。信镇问题领域分析是软件开发的基本组成部分,目的是使开发人员了解问题领域的结构,建立大致的系统实现环境。问题领域分析给出一组抽象概念(从高层来表示问题领域知识,常常超出当前应用的范围)作为特定系统需求开发的参考。问题领域分析实际上是一种学习过程。软件开发人员在这个阶段应该尽可能地理解当前系统中与应用有关的知识,应该放开思维,放宽考虑的范围,尽可能地标识与应用有关的概念。问题领域分析的边界可能很模糊。有了广泛的问题领域知识,涉及到具体的应用时,就可以更快地进入状态,掌握应用的核心知识。而且,在用户改变对目标系统的需求时,广泛的分析可以帮助我们预测出目标系统在哪些方面会发生哪些变化。通常进行小组分析,小组成员可以包括领域专家和分析员等。在分析过程中,应该标识出系统的基本概念(对象、类、方法、关系等)、识别问题领域的特征,并把这些概念集成到问题领域的模型中。问题领域的模型必须包含概念之间的关系,以及每个概念的全部信息。标识出来的相关概念应该根据信息内容来有机地融合到问题领域的综合视图中。应用分析是依据在问题领域分析时建立起来的问题领域模型来进行的。应用分析时,把问题领域模型用于当前特定的应用之中。首先,通过收集到的用户信息来对问题领域进行取舍,把用户需求作为限制条件来使用,以缩减问题领域的信息量。因此,问题领域分析的视野大小直接影响到应用分析保留的信息量。一般来说,问题领域分析阶段产生的模型并不需要用程序设计语言来表示,而应用分析阶段产生的影响条件则需要用某种程序设计语言来表示。模型识别的要求可以针对一个应用,也可以针对多个应用。通常我们着重考虑两个方面,即应用视图和类视图。在类视图中,必须对每个类的属性和操作进行细化,并表示出类之间的相互作用关系。目标Coad和Yourdon 认为,面向对象分析主要应该考虑与特定应用有关的对象,以及对象之间在结构和相互作用上的关系。在面向对象分析中,需要建立分析模型来描述系统的功能。面向对象分析需要完成如下两个任务:— 形式化地说明所面对的应用问题,最终成为软件系统基本构成的对象,以及系统所必须遵从的、由应用环境所决定的规则和约束条件。— 明确地规定构成系统的对象如何协同工作和完成指定的功能。通过面向对象分析所建立的系统模型是以概念为中心的,因此称为概念模型。概念模型由一组相关的类组成。面向对象分析可以通过自顶向下地逐层分解来建立系统模型,也可以自底向上地从已经定义的类出发,逐步构造新的类。概念模型的构造和评审由如下5个层次构成:— 类和对象层— 属性层— 服务层— 结构层— 主题层这5个层次不是构成软件系统的层次,而是分析过程中的层次。也可以说是问题的不同侧面。每个层次的工作都为系统的规格说明增加了一个组成部分。当5个层次的工作全部完成时,面向对象分析的任务也就完成了。在实际操作中,面向对象分析的目标是得出问题领域的功能模型、对象模型和动态模型,并用相应的UML图将它们表示出来。步骤面向对象分析通常按照下面的步骤来进行:(1)标识对象和类。可以从应用领域开始,逐步确定形成整个应用的基础类和对象。这一步需要分析领域中目标系统的责任,调查系统的环境,从而确定对系统有用的类和对象。(2)标识结构。典型的结构有两种,即一般—特殊结构和整体—部分结构。一般—特殊结构表示一般类是基类,特殊类是派生类。比如,汽车是轿车和卡车的基类,这是一种一般—特殊结构。整体部分结构表示聚合,由属于不同类的成员聚合成为新的类。比如,轮子、车体和汽车底盘都是汽车的一部分,这些不同功能的部件聚合成为汽车这个整体。(3)标识属性。对象所保存的信息称为它的属性。类的属性描述状态信息,在类的某个实例中,属性的值表示该对象的状态值。需要找出每个对象在目标系统中所需要的属性,并将属性安排在适当的位置,找出实例连接,最后再进行检查。应该给出每个属性的名字和描述,并指定该属性所受的特殊限制(如只读、属性值限定在某个范围之内等)。(4)标识服务。对象收到消息后执行的操作称为对象提供的服务。它描述了系统需要执行的处理和功能。定义服务的目的是为了定义对象的行为和对象之间的通信。其具体步骤包括:— 标识对象状态— 标识必要的服务— 标识消息连接— 描述服务可以用类似于流图的图形来表示服务。(5)标识主题。为了更好地理解包含大量类和对象的概念模型,需要标识主题,即对模型进行划分,给出模型的整体框架,划分出层次结构。可以按照如下步骤来标识主题。— 识别主题— 对主题进行改进和细化— 将主题加入到分析模型主题是一个与应用相关的概念,而不是人为任意引出来的,主题层的工作有助于理解分析的结果。优点面向对象分析的主要有点有:(1)加强了对问题域和系统责任的理解;(2)改进与分析有关的各类人员之间的交流;(3)对需求的变化具有较强的适应性;(4)支持软件复用;(5)贯穿软件生命周期全过程的一致性;(6)实用性;(7)有利于用户参与。.....

❷ 面向对象程序设计的优点是什么

1、维护简单
面向对象程序设计的一个特征就是模块化。实体可以被表示为版类以及同一权名字空间中具有相同功能的类,可以在名字空间中添加一个类而不影响该名字空间的其他成员。这种特征为程序的维护提供了便捷性。


2、可扩充性
如果有一个具有某一种功能的类,就可以扩充这个类,创建一个具有扩充功能的类。


3、代码重用
功能是被封装在类中的,类是作为一个独立实体而存在的,因此可以很简单的提供类库,使代码得以重复使用。

(2)理解面向对象对编程有什么帮助扩展阅读

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

❸ 面向对象编程的重要性在哪

面向对象最重要的功能,是在语言层面,做出一些归类和划分。这给出了额外信息,有助于提高程序的可维护性,和可控。

也就是说,传达出,数据之间,函数之间,数据和函数之间的疏密和逻辑关系。通过对复杂任务,化整为零,实现分工协作和任务简化,这类似分治法。

同时,在编程模型中建立了对象的概念,通常更加切合人类的思考习惯,通过合理的封装,设计良好的对象接口,从而帮助人们更容易开发和管控自己的代码。

关于楼主提问,我补充下,OO 的选择 和 GUI 是完全独立无关的。GUI 也可以以面向过程的方式开发。在适合 OO 的各种场合(不一定是 GUI),采用 OO 来编程当然也是十分有益的。

然后面向对象的使用,人们很容易僵化,要谨防:

(1)过度OO。不必要的加深对象关系网络深度,会降低程序的可维护性和可控性,最终失控而导致项目失败。

(2)一些人对面向过程才去完全对立,这是一种教条主义和僵硬呆板的理解。实际上绝对的 OO,必然不是最正确的。不管强行 OO 只能是弄巧成拙的愚蠢人。意识不到,OO 并不是适用所有模型,或者说,很多场合,没有必要 OO和没有 OO 的特别收益。

实际情况,一般是 OO 和 面向过程两者的合理结合组合,来解决问题。而不是非此即彼的关系。

❹ 什么是面向对象编程

它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。有人可能会说PHP不是一个真正的面向对象编程的语言, PHP 是一个混合型 语言,你可以使用面向对象编程,也可以使用传统的过程化编程。然而,对于大型项目的开发,你可能想需要在PHP中使用纯的面向对象编程去声明类,而且在你的项目开发只用对象和类。随着项目越来越大,使用面向对象编程可能会有帮助,面向对象编程代码很容易维护,容易理解和重复使用,这些就是软件工程的基础。在基于Web的项目中应用这些概念就成为将来网站成功的关键。 对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。 关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。

❺ 面向对象程序设计有什么用

面向对象程序设计,可以提高代码的重用率,安全性,设计效率。
如果作为一个学习程序的人,想有很好的造诣,最终的目标不是编程,而是当系统架构,这个时候如何设计好一个系统就很重要了。这个也是目前面向对象程序设计目标。让设计师能很好的控制代码设计。

❻ 为什么要用面向对象思想编程

面向对象的主要思想是“继承”、“封装”、“多态”。这种思想方便解决较为复杂的项目,且维护起来较为容易。

阅读全文

与理解面向对象对编程有什么帮助相关的资料

热点内容
数据线一直发烫怎么回事 浏览:830
IBM代码5 浏览:279
编程时如何让输出结果之间有空格 浏览:112
怎么复制网上文件 浏览:675
苹果怎么关掉网站禁止访问 浏览:478
win10适合机械硬盘吗 浏览:586
qq头像欧美男霸气头像 浏览:368
java批量修改数据返回值 浏览:517
wp81创建文件夹 浏览:968
iphone高科技软件 浏览:654
手机端怎么看网页代码 浏览:925
什么软件能把手机变成苹果版本的 浏览:841
ps精修瓶子视频教程 浏览:481
win10惠普recovery盘 浏览:172
电脑网络问题是怎么回事 浏览:193
微信刷卡支付接口开发 浏览:443
win10电脑屏幕旋转90度怎么复原 浏览:456
win10如何进入安全 浏览:319
把两批纸质文件扫描成一个pdf 浏览:98
如何处理缺失数据 浏览:230

友情链接