第9章-程序设计基础课件

上传人:痛*** 文档编号:241648194 上传时间:2024-07-12 格式:PPT 页数:31 大小:867KB
返回 下载 相关 举报
第9章-程序设计基础课件_第1页
第1页 / 共31页
第9章-程序设计基础课件_第2页
第2页 / 共31页
第9章-程序设计基础课件_第3页
第3页 / 共31页
点击查看更多>>
资源描述
计算机的起源与发展共 29 页 第 页content9.1 程序设计方法与风格 程序设计方法和技术的发展过程,主要经历了结构化程序设计和面向对象的程序设计两个阶段。关于风格方面,主要探讨以下问题。1源程序文档化 重点考虑以下因素:(1)标识符或符号名的命名:它的命名应按意取名或见名知义,命名与实际含义直接相关,便于对程序整体和程序功能的理解。(2)程序注释:注释是程序员标注程序功能和语句作用的提示方法,是与读者理解、交流重要工具,可以用自然语言或伪码描述。7/12/20241佳木斯大学计算机的起源与发展共 29 页 第 页content9.1 程序设计方法与风格 (3)视觉组织:表现为程序层次清晰,结构简单。可以在程序中利用空格、空行、缩进等技巧使程序更佳清楚、美观,更容易理解。2数据说明方法 数据是程序中的重要组成部分,需要对数据进行说明。说明时要注意其风格及风格一致性,更易于理解和维护。注意以下几点:(1)数据说明的顺序规范化。(2)变量位置有序化。(3)对于复杂数据的结构,要使用注释来说明,便于理解其数据属性及特点。7/12/20242佳木斯大学计算机的起源与发展共 29 页 第 页content9.1 程序设计方法与风格 3语句结构 语句构造的原则是:简单明确、一目了然,仍要把降低语句复杂化作为第一位,同时兼顾效率作为第二位。4输入和输出 数据输入和数据输出是用户最关心的和直接面对的,输入和输出方式和格式应尽可能方便用户的使用,必须满足用户要求。因为软件系统能否被用户接受,往往取决于输入和输出的风格和简单操作化。7/12/20243佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 结构化程序设计 结构化程序设计(structured programming)的思想和方法力求解决软件危机中出现的各种问题。结构化程序设计方法的基本思想主要为自项向下,逐步求精,模块化,限制使用goto语句。1自顶向下:程序设计切入点是先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。采用自上而下的思路解决问题,先从最上层总目标开始设计,然后再考虑细节,逐步使问题具体化。2逐步求精:对复杂问题,按照实际问题或约定的规则设计一些子目标作过渡,逐步细化。结构化程序设计的原则7/12/20244佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 结构化程序设计 3模块化:一个庞大复杂问题是由若干个简单的问题构成。模块化是把程序要解决的总目标拆分为子目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。4限制使用goto语句 结构化程序设计方法的起源是为了规避GOTO语句的使用。结构化程序设计的原则7/12/20245佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 结构化程序设计 1顺序结构:一种最简单的程序设计结构,它是最基本、最常用的结构,如图9.1所示。顺序结构是顺序执行结构,所谓顺序执行,就是按照程序语句行的自然顺序,一条语句接续一条语句地执行程序。结构化程序设计的基本结构与特点 图9.1 顺序结构 图9.2 选择结构 7/12/20246佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 结构化程序设计 2选择结构:选择结构又称为分支结构,它包括单分支选择结构、双分支选择结构和多分支选择结构,前两种属简单选择结构;选择结构的要点首先是设定选择条件,然后,根据条件再来判断程序的走向,应该选择哪一条分支来执行相应的语句序列,其它分支的语句序列不再被执行。图9.2列出了包含2个分支的简单选择结构,即双分支选择结构。3重复结构:重复结构又称为循环结构。这种结构的要点首先是设定重复条件,根据条件判断是否需要重复执行某一相同程序段或同块程序段,利用重复结构可简化大量的程结构化程序设计的基本结构与特点 7/12/20247佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 结构化程序设计 序行。在程序设计语言中,重复结构对应两类循环语句,对先判断后执行循环体的称为当型循环结构,如图9.3所示。对先执行后判断的称为直到型循环结构,如图9.4所示。结构化程序设计的基本结构与特点 9.3 当型循环结构 9.4 直到型循环结构 7/12/20248佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 结构化程序设计 实践证明,遵循结构化程序的设计原则,按照结构化程序设计方法编制的程序克服了软件危机表现的不足,具有明显的优势;其一,程序易于阅读、理解、使用和维护。其二,提高了编制程序效率,降低了软件开发成本。由于结构化编程方法能够把错误控制到最低限度,能够做到少出错误或者不出复杂错误,因此能够减少调试和查错时间。其三,适合编制大规模程序。结构化程序设计的基本结构与特点 7/12/20249佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 面向对象方法的基本思想,强调从客观事物固有的本质出发来建构实际系统,提倡用人类在现实生活中的视觉和思维方法来认识、理解和描述客观事物,达到最终建立的系统能够映射问题域;也就是说,系统中的对象以及对象之间的关系能够如实地反映问题域中固有事物及其关系。面向对象方法已经成为流行的软件开发方法,人们开始重视和应用,源于它具有以下主要优势。面向对象的程序设计概述7/12/202410佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 1纳入人类习惯的思维方法 面向对象方法和技术以对象为核心,用这种技术开发出的软件系统由对象组成。它是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作(表示对象的动态行为),封装在一起所构成的统一体。对象是与客观实体有直接的对应关系和内在联系,对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。面向对象的设计方法与传统的面向过程的方法有本质不同,这种方法的基本原理是,使用现实世界的概念抽象地思面向对象的程序设计概述7/12/202411佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 问题从而自然地解决问题。它强调模拟现实世界中的概念和本质,而不强调算法;它鼓励开发者在软件开发的绝大部分过程中都用应用领域的概念去思考。在面向对象的开发方法中,计算机的观点是不重要的,现实世界的模型才是最重要的。2.稳定性好 面向对象方法基于构造问题领域的对象模型,以对象为中心构建软件系统。它的基本作法是用对象模拟问题领域中的实体,以对象间的联系描述实体间的联系。因为面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对面向对象的程序设计概述7/12/202412佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 系统应完成的功能的分解,所以,当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改,即可满足新的需求。因此,以对象为中心构造的软件系统也是比较稳定的。3可重用性好 软件重用是指在不同的软件开发过程中重复使用相同或相似软件元素的过程。重用是提高软件生产效率的最主要的方法和手段。4易于开发大型软件产品面向对象的程序设计概述7/12/202413佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 当开发大型软件产品时,开发软件的技术方法不符合实际需求往往是出现问题的主要原因。用面向对象范型开发软件时,就象搭建积木一样,把一个大型产品看作是一系列本质上相互独立的小产品来处理,这就不仅降低了开发的技术难度,也缩短软件开发周期;促使开发工作的管理变得简单。5可维护性好 软件维护是软件周期的最后阶段,也是持续时间最长、代价最大的阶段。软件可维护性可用下面七个特性来衡量,即可理解性、可靠性、可修改性、可测试性、可移植性、可使用性和效率。面向对象的程序设计概述7/12/202414佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 面向对象的方法在上述特点方面比传统方法具有绝对优势,重点表现在:()面向对象的方法开发的软件可理解性好 面向对象技术模拟了人类的思维方式和行为习惯,用这种方法所构建的软件系统结构与问题空间的结构基本一致。克服了传统程序设计弊端,因此,面向对象的软件系统比较容易理解。()面向对象的方法开发的软件可靠性好 而面向对象的方法开发的软件,当对软件的功能或需求发生变化时,通常不会引起软件大规模改变,往往只需对局部作一些修改,不会影响大的变动。由于对软件的改动较小且限于面向对象的程序设计概述7/12/202415佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 局部,自然比较容易实现。()面向对象的方法开发的软件可修改性好 在面向对象方法中,核心是类(对象),它具有理想的模块机制,独立性好,修改一个类通常很少会牵扯到其他类。如果仅修改一个类的内部实现部分(私有数据成员或成员函数的算法),而不修改该类的对外接口,则可以完全不影响软件的其他部分。面向对象技术特有的继承机制,使得对所开发的软件的修改和扩充比较容易实现,通常只需从已有类派生如一些新类,无需修改软件原有成分。(4)面向对象的方法开发的软件易于测试和调试。面向对象的程序设计概述7/12/202416佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 1对象(object)对象是面向对象方法中最基本的概念。对象可以用来表示客观世界中的任何实体,也可以是现实世界中实体的抽象;或者说,应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。在现实世界中,一辆汽车、一个人、一幢房子、一只苹果、一家公司、就是一个对象;在程序设计中,一条直线、一幅影像、按钮、菜单等都是对象。面向对象的程序设计基本概念 7/12/202417佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 所谓面向对象方法,就是把问题抽象为对象,设置属性(数据),指定事件或处理方法(代码)来达到目的。面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。客观世界中的实体通常都既具有静态属性,又具有动态行为,因此,面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。对象可以做的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作也称为方法或服务。面向对象的程序设计基本概念 7/12/202418佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 对象有以下基本特点:(1)标识惟一性。每个对象都有自身唯一的标识,就是用一个名字区别于其他对象;对象是可区分的,并且由对象的内在本质(行为)来区分,而不是通过描述(属性)来区分。(2)分类性。指可以将具有相同属性和操作的对象抽象成类,具有一致的数据结构(属性)和行为(操作)的对象抽象成类。(3)多态性。指同一个操作可以是不同对象的行为。从广义上说,多态面向对象的程序设计基本概念 7/12/202419佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 是指一段程序能够处理多种类型对象的能力;具体地说,同样的消息能被发送到父类的对象和它的子类的对象。(4)封装性。把对象的全部属性和全部方法结合在一起,形成一个不可分割的独立的单位(对象),即尽可能的隐蔽内部细节,对外形成一个边界(或者说对外形成一个屏障),只保留有限的对外的接口。(5)模块独立性好。指每个模块完成一个相对独立的子功能,并且与其他模块之间的联系简单,耦合度低。面向对象的程序设计基本概念 7/12/202420佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 2.类(Class)和实例(Instance)类是创建对象的关键,事实上类描述了一族对象的公共特征和操作,而对象则是具体实现的类。将属性、操作相似的对象归为类,通俗讲就是“归为一类”;也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。要注意的是,当使用“对象这个术语时,既可以指一个具体的对象,也可以泛指一般的对象;但是,当使用“实例”这个术语时,必然是指一个具体的对象。面向对象的程序设计基本概念 7/12/202421佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 3消息(Message)消息传递是事物之间直接联系的一种抽象,把事物看成是对象,也就是对象间相互联系和相互作用的方式。面向对象的世界是通过对象与对象间彼此的相互联系和合作来推动的,对象间的这种相互联系和合作需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另一个实例之间传递的信息,也可以理解为信息传递或相互通信,它请求对象执行某一处理或回答某一要求的信息。一个消息包含5个方面内容:发送消息的对象、接收消息的对象、消息传递办法、消息内容(参数)、反馈。面向对象的程序设计基本概念 7/12/202422佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 消息传递过程中,由发送消息的对象(发送对象)的触发操作产生输出结果,作为消息传送至接受消息的对象(接受对象),引发接受消息的对象一系列的操作。所传送的消息实质上是接受对象所具有的操作/方法名称,有时还包括相应参数,图9.5表示了消息传递的方式。面向对象的程序设计基本概念 图9.5 消息传递示意图7/12/202423佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 通常,一个消息主要由下述三部分组成:接收消息的对象的名称;消息标识符(也称为消息名);零个或多个参数。4继承(Inheritance)继承性是面向对象的方法的主要特征。继承是采用在已有的类定义基础上建立新类定义的技术手段。已有的类可当作基类来引用,则新类成为派生类。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。狭义的讲,通过对已有对象进行增加或部面向对象的程序设计基本概念 7/12/202424佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 分修改的方法建立新的对象,对已有对象可以增加数据和过程,也可以对其中某些过程进行重新定义。继承的功能源于把类组成一个层次结构的系统:一个类的上层可以有父类,下层可以有子类,可以分层并表现继承关系。图9.6示出了实现继承机制的原理。图中以A、B两个类为例,其中类B是从类A派生出来的子类,它除了具有自己定义的特性(数据和操作)之外,还从父类A继承特性。当创建类A的实例al的时候,a1以类A为样板建立实例变量。面向对象的程序设计基本概念 7/12/202425佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 当创建类B的实例bl的时候,bl既要以类B为样板建立实例变量,又要以类A为样板建立实例变量,b1所能执行的操作既有类B中定义的方法,又有类A中定义的方法,这就是继承。面向对象的程序设计基本概念 图9.6 实现继承机制的原理图 7/12/202426佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 继承具有传递性,如果类C继承类B,类B继承类A,则类C继承类A;还可以有类D,D继承C,以此类推;相似于人类的基因传递。继承分为单继承与多重继承。单继承是指,一个类只允许有一个父类,即类等级为树形结构。多重继承是指,一个类允许有多个父类。多重继承的类可以组合多个父类的性质构成所需要的性质。继承性的优点是,相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,提高软件的可重用性,便于软件修改维护。面向对象的程序设计基本概念 7/12/202427佳木斯大学计算机的起源与发展共 29 页 第 页content9.2 面向对象的程序设计 5多态性(Polymorphism)对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。多态性机制不仅增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且显著地提高了软件的可重用性和可扩充性。面向对象的程序设计基本概念 7/12/202428佳木斯大学谢 谢 !7/12/202429佳木斯大学
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!