2021年度面向对象程序设计概述.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计概述 近年来,面向对象程序设计思想已经被越来越多软件设计人员所接受。它是在吸取构造化程序设计一切长处基本上发展起来一种新程序设计思想。这种新思想更接近人思维活动,人们运用这种思想进行程序设计时,可以很大限度地提高编程能力,减少软件维护开销。面向对象系统最突出特点是封装性、继承性和多态性。 1.1什么是面向对象程序设计 在软件设计和实现中,老式被人们广泛用法是面向过程程序设计办法。在讨论面向对象程序设计之前,咱们需要讨论一下面向过程程序设计。 1.1.1面向过程程序设计基本概念 面向过程程序设计思想核心是功能分解: 第一步 要做工作就是将问题分解成若干个称为模块功能块; 第二步 依照模块功能来设计一系列用于存储数据数据构造; 第三步 编写某些过程(或函数)对这些数据进行操作。 显然,这种办法将数据构造和过程作为两个实体来对待,其着重点在过程。 设计人员一方面考虑如何将功能分解,在每一种过程中又要着重安排程序操作序列,但同步程序员在编程时又必要时时考虑数据构造,由于毕竟要将操作作用于数据上。数据构造和过程这种分离,给软件人员导致沉重承担。例如,咱们不也许规定数据构造始终没有变化,且不说在软件维护时候数据构造有也许发生变化,就是在软件开发过程中也不能保证数据构造不变化。 面向过程程序设计缺陷之一就是一旦数据构造需要变更时候,必要修改与之关于所有模块。因而,面向过程程序可重用性差,维护代价高。 下面,咱们举一种实例来进一步讨论面向过程程序设计办法。 考虑一种银行系统。该系统容许顾客开设不同类型银行账户,其中涉及钞票账户、支票账户和贷款账户,同步容许顾客存款、取款和转账。依照面向过程程序设计办法,一方面咱们将银行系统分解成三个模块分别负责存款、取款和转账三项工作。这三个过程是MakeDeposit、WithDraw和Transfer。接着,建立一种简朴数据构造: struct account{ char name; /* 姓名 */ unsigned long accountld; /* 账号 */ float balance /* 余额 */ float interestYTD /* 年利息 */ char accountType. /*账户类型(钞票、支票和贷款) */ }; 然后,对每个过程按照一定操作顺序编写程序。 咱们来分析一下,程序员所关怀与否与顾客一致。 (1)对于一种顾客来说,她最关怀是账户中尚有多少钱,利息是多少,钱存在银行与否安全,而不会对存钱和取钱程序执行过程感兴趣。对她而言,只是需要懂得存、取款手续,并按照这些手续去做就足够了。 (2)程序设计人员所关注是如何写存、取款代码,如何在已经建立数据构造中填写数据并管理它们。 可见,程序员与顾客关怀事情是不一致,这是由于数据构造与“过程”分离导致。再进一步分析,顾客与她们银行账户有无特殊关系。在软件系统中,由于顾客只但是是一串字符和数字,因而不用考虑究竟是谁拥有该账户,账户里内容是什么,而银行账号也只但是是一种整数。 此外,由于数据构造与“过程”分离,程序员可以非常以便地修改账目,由于对她来说,只但是是在修改数据构造中数字,事实上她也许通过修改数据而取走顾客钱。 最后,咱们考虑如果数据构造发生了某些变化会产生什么样成果。对于accountType数据项,本来只有钞票账户、支票账户和贷款账户三种取值,程序只能辨认这三种取值。由于账户类型不同,咱们在编写存款等过程时,将以不同操作序列与之相应(在同一种过程中分状况解决)。对钞票账户、支票账户和贷款账户解决不会完全相似。假设当前需要增长一种账户类型——退休账户,后果如何?本来程序必定出错。由于在本来程序中咱们只考虑了以上三种账户状况,对于新增长账户类型,本来程序不会解决。也就是说,每增长一种新账户类型,都必要重新编写程序代码,可见其维护软件开销是相称大。 上述这些问题浮现都是由于面向过程程序设计解决办法着重点在功能,而咱们通过度析发现,数据对于客户(特别是顾客)似乎更重要。在这里,程序员关怀是如何做(how to do),而顾客则关怀是做什么(what t0 do),这是由于过程和数据分离导致。使用面向对象程序设计技术是解决这些问题最佳办法。 1.1.2面向对象程序设计基本概念 在面向对象程序设计中,着重点在那些将要被操作数据,而不是在实现这些操作过程。数据构成了软件分解基本,而不是功能。咱们一方面要分析

文档评论(0)

159****1748 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档