《计算机二级vb知识点第七章.ppt》由会员分享,可在线阅读,更多相关《计算机二级vb知识点第七章.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章第七章 程序设计基础程序设计基础7.1程序设计风格程序设计风格 程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。为了测试和维护程序,方便阅读和跟踪调试程序,程序设计的风格总体而言应该强调简单和清晰。“清晰第一,效率第二清晰第一,效率第二”成为当今的程序设计的主导风格。要形成良好的程序设计风格,主要应注重和考虑下列因素。要形成良好的程序设计风格,主要应注重和考虑下列因素。1、源程序文档化源程序文档化v 变量、标识符的命名变量、标识符的命名v 程序注释:程序注释一般分为序言性注释和程序注释:程序注释一般分为序言性注释和功能性注释。功能性注释。v 视觉组织:为使程序的结构一目了然视觉
2、组织:为使程序的结构一目了然2.数据说明的风格数据说明的风格v 数据说明的次序规范化:可以使数据的属性容易查找,也有利于测试、排错和维护。v 说明语句中变量安排有序化。当一个说明语句说明多个变量时,变量按照字母顺序排序为好。v 使用注释来说明复杂数据的结构。3.语句的结构语句的结构程序应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。(1)程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二,一般在一行内只写一条语句;(2)首先要保证程序正确,然后才要求提高速度;(3)避免使用临时变量而使程序的可读性下降;(4)避免不必要的转移,避免采用复杂的条件
3、语句和尽量减少使用“否定”条件的条件语句;(5)程序结构模块化,使模块功能尽可能单一化,利用信息隐蔽,确保每一个模块的独立性,尽可能使用库函数;(6)从数据出发去构造程序,数据结构要有利于程序的简化;(7)不要修补不好的程序,要重新编写。4.输入和输出输入和输出 输入和输出信息是直接与用户相联系的,输入和输出方式和格式应尽可能方便用户的使用。对于批处理和交互式输入输出方式,设计和编程时都应该考虑如下原则:(1)对所有的输入数据以及输入项的各种重要组合都要检验其合理、合法性;(2)输入数据时,格式要简单,应允许使用自由格式和缺省值;(3)批量输入数据时,最好使用输入结束标志;(4)在以交互式输入
4、输出方式进行输入输出时,要在屏幕上使用提示符给出明确提示,数据输入过程中和输入结束时,应在屏幕上给出状态信息;(5)当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性,应给所有的输出加注释,并设计输出报表格式。7.2 程序设计方法程序设计方法7.2.1 结构化程序设计方法结构化程序设计方法(Structured Programming)随着软件危机的出现,20世纪70年代提出了“结构化程序设计”的思想和方法。结构化程序设计方法引入了工程和结构化思想,提出了“程序算法数据结构”的说法。1.结构化程序设计的原则结构化程序设计的原则 结构化程序设计方法的主要原则可以概括为自顶向下
5、,逐步求精,模块化,限制使用GOTO语句等几方面:v 自顶向下自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。v限制使用限制使用GOTO语句:语句:GOTO语句是有害的,它是造成程序混乱的祸根。v逐步求精逐步求精:对复杂问题,应设计一些子目标作过渡,逐步细化。v模块化模块化2.结构化程序设计的基本结构结构化程序设计的基本结构(1).顺序结构顺序结构(2).选择结构选择结构(3).循环结构循环结构3.结构化程序的基本特点及应用原则结构化程序的基本特点及应用原则v结构化程序设计方法结构化程序设计方法设计出的程序有明显的优点优点:其一,程序易于理解、使用和维护。其二,
6、提高了程序设计工作的效率,降低了软件开发成本。由于结构化程序设计方法能够把错误控制到最低限度,因此能够减少调试和查错时间。在结构化程序设计的具体实施过程中,要注意把握以下几点:(1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑,选用的控制结构只准许有一个入口和一个出口,复杂结构应该使用基本控制结构的组合嵌套来实现。(2)程序语句组成容易识别的模块,每块只有一个入口和一个出口。(3)语言中所没有的控制结构,应该采用前后一致的方法来模拟。(4)严格控制GOTO语句的使用,以下几种情况除外:用一个非结构化的程序设计语言去实现一个结构化的构造。若不使用GOTO语句会使功能模糊
7、。在某种可以改善而不是损害程序可读性的情况下。7.2.2面向对象程序设面向对象程序设(ObjectOrientedProgramming)1.面向对象方法的基本概念面向对象方法的基本概念面向对象程序设计是运用对象、类、继承、封装、聚集、消息传递等概念构造程序的方法。面向对象方法的概念涵盖了对象、类、继承、多态性几个基本要素,这些概念是理解和使用面向对象方法的基础和关键。(1).对象(Object)对象可以用来表示客观世界中的任何实体,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的
8、统一体。属性属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。属性值应该指的是纯粹的数据值,而不能指对象。操作操作描述了对象执行的功能。对象的操作也称为方法或服务,如汽车的启动、窗口的关闭等。操作的过程对外是封闭的,各种过程是事先已经设计好的,用户只需要调用,不必去关心这一过程是如何编写的。过程已经封装在对象中,用户只能看到结果,对象的这特性,即是对象的封装性对象的封装性。(2).类类(Class)和实例和实例(Instance)类是具有共同属性、共同方法的对象的集合,是对象的抽象,它描述了属于该对象类型的所有对象的性质。一个对象则是其对应类的一个实例。例如:AUT
9、O是一个轿车类,它描述了所有轿车的性质。一部捷达轿车是类AUTO的一个实例。类同对象一样,包括一组数据属性和在数据上的一组合法操作。例如,捷达、桑塔那、奥迪是三个不同的对象(实例),但它们可用共同的属性(颜色、型号、排气量等)来描述,具有相同的行为(启动、停止等),因此它们是一类,用“AUTO类”来定义。(3).消息消息(Message)消息是一个实例向另一个实例之间传递的信息,是对象间相互合作的机制。消息的使用类似于函数调用 一个消息包括三部分:接收消息的对象的名称、消息标识符(也称为消息名)、零个或多个参数。例如,MyAuto是AUTO类的一个实例,要求它以80公理速度行驶时,在C+语言中
10、应该向它发出下列消息:MyAutoRun(80);其中,MyAuto是接收消息的对象的名字,Run是消息名,80是消息的参数。发送对象接收对象接口消息消息操作名、参数操作名、参数(4).继承继承(Inheritance)继承是指能够直接从已有类中获得已有的性质和特征,而不必重复定义它们。继承是使用已有的类定义作为基础建立新类定义的技术。已有的类可当作基类(父类)来引用,则新类相应地叫当作派生类(子类)来引用。面向对象软件技术把类组成一个层次结构的系统:个类的上层可以有父类,下层可以有子类。一个类直接继承其父类的描述(数据和操作)或特性,子类自动地共享其父类中定义的数据和方法。继承分为单继承与多
11、重继承继承分为单继承与多重继承。单继承单继承是指一个类只允许有一个父类,即类等级为树型结构;多重继承多重继承是指一个类允许有多个父类。多重继承的类可以组合多个父类的性质构成所需要的性质,因此,功能更强,使用更方便。但是,使用多重继承时要注意避免二义性。继承具有传递性继承具有传递性,如果类C继承类B,类B继承类A,则类C继承类A。因此,一个类实际上继承了它上层的全部基类的特性。(5).多态性多态性(Polymorphism)同样的消息被不同的对象接受时可导致完全不同的行动,同样的消息被不同的对象接受时可导致完全不同的行动,同一个动作可以是不同对象的行为,该现象称为多态性同一个动作可以是不同对象的
12、行为,该现象称为多态性。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。例如,学生类中有一项属性为性别,学生类作为父类可派生出男生和女生两个子类,当消息“显示性别”发给学生类时,对男生将显示“男”,对女生将显示“女”,所以对学生类而言,性别属性必为多态的。在C语言中,函数重载是最简单的多态性体现。多态意味着同一个消息可以关联不同的实例,而实例可以属于不同的类。2.面向对象程序设计的优点面向对象程序设计的优点(1).与人类习惯的思维方法一致与人类习惯的思维方法一致(2).稳定性高稳定性高(3).可重用性好可重用性好(4).易于大型软件产品开发易于大型软件产品开发(5).软件可维护性好 用面向对象方法开发的软件稳定性比较好。用面向对象方法开发的软件比较容易修改。用面向对象方法开发的软件比较容易理解。用面向对象方法开发的软件易于测试和调试。