- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常见程序设计方法
常见程序设计方法结构化程序设计面向对象程序设计常见程序设计方法结构化设计程序设计方法的产生结构化程序设计由E.W.Dijikstra在1965年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变得单纯而明确,为设计一些较大的软件打下了良好的基础。基本要点1.采用自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了2.使用三种基本控制结构构造任何程序都可以由顺序、选择、重复三种基本控制结构构造。a.用顺序方式对过程分解,确定各部分的执行顺序。?b.用选择方式对过程分解,确定某个部分的执行条件。?c.用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。设计语言C,FORTRAN,PASCAL,Ada,BASIC基本结构顺序结构、选择结构、循环结构特点结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。优点①整体思路清楚,目标明确。②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。③在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。缺点①用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题②用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求③系统开发周期长面向对象程序设计设计方法的产生1967年挪威计算中心的Kisten?Nygaard和Ole?Johan?Dahl开发了Simula67语言,它被认为是第一个面向对象语言。汇编语言出现后,程序员更方便地编写程序;当出现了Fortran、C等高级语言,程序员们可以更好地对付日益增加的复杂性。但是,如果软件系统达到一定规模,局势仍将变得不可控制。作为一种降低复杂性的工具,面向对象语言产生了,面向对象程序设计也随之产生。?基本概念?①对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。?②类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。?③封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。④继承是让某个类型的对象获得另一个类型的对象的特征。通过继承可以实现代码的重用:从已存在的类派生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性。?⑤多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。?⑥绑定指的是将一个过程调用与相应代码链接起来的行为。动态绑定是指与给定的过程调用相关联的代码只有在运行期才可知的一种绑定,它是多态实现的具体形式。⑦对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。?⑧方法(Method)是定义一个类可以做的,但不一定会去做的事。?语言如Smalltalk、Java,这些语言本身往往吸取了其他语言的精华,另外一些则是对现有的语言进行改造,增加面向对象的特征演化而来的。如由Pascal发展而来的Object?Pascal,由C发展而来的Objective-C,C++?,由Ada发展而来的Ada?95等,这些语言保留着对原有语言的兼容,并不是纯粹的面向对象语言。?优点①数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免对外界的干扰;?②通过继承大幅减少冗余的代码,并可以方便地扩展现有代码,提高编码效率,也减低了出错概率,降低软件维护的难度;?③结合面向对象分析、面向对象设计,允许将问题域中的对象直接映射到程序中,减少软件开发过程中中间环节的转换过程;?④通过对对象的辨别、划分可以将软件系统分割为若干相对为独立的部分,在一定程度上更便于控制软件复杂度。谢谢观赏
原创力文档


文档评论(0)