程序设计基础
一、程序设计方法与风格
(1)设计方法:指设计、编制、调试程序的方法和过程,主要有结构化程序设计方法、软件工程方法和面向对象方法。
(2)设计风格:良好的程序设计风格,主要应注重和考虑下述一些因素:
①符号名的命名应具有一定的实际含义;
②正确的注释能够帮助读者理解程序;
③程序编辑应优先考虑清晰性;
④程序编写要做到清晰第一、效率(提高程序执行的效率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间)第二;
⑤数据说明的次序要规范化;
⑥语句的结构应该简单直接,不应该为提高效率而把语句复杂化;
⑦避免滥用goto语句;
⑧模块设计要保证低耦合、高内聚;
⑨源程序要文档化。
二、结构化程序设计
1、结构化程序设计的原则:结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计可使程序结构良好、易读、易理解、易维护。
(1)自顶向下:即先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。
(2)逐步求精:对复杂问题,应设计一些子目标做过渡,逐步细化。
(3)模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。
(4)限制使用goto语句
在软件设计过程中,必须遵循软件工程的基本原则,这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。
在设计程序时,滥用goto语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。
2、结构化程序的基本结构与特点
(1)顺序结构:自始至终严格按照程序中语句的先后顺序逐条执行,是最基本、最普遍的结构形式。
(2)选择结构:又称为分支结构,包括简单选择和多分支选择结构。
(3)重复结构:又称为循环结构,根据给定的条件,判断是否需要重复执行某一相同的或类似的程序段。
结构化程序设计中,应注意事项:
(1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑。
(2)选用的控制结构只准许有一个入口和一个出口。
(3)程序语言组成容易识别的块,每块只有一个入口和一个出口。
(4)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。
(5)语言中所没有的控制结构,应该采用前后一致的方法来模拟。
(6)尽量避免goto语句的使用。
三、面向对象的程序设计
面向对象方法的本质是主张从客观世界固有的事物出发来构造系统,强调建立的系统能映射问题域。
面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法。它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。
(1)对象:用来表示客观世界中任何实体,可以是任何有明确边界和意义的东西。一个对象由这个对象的标识,以及它封装的属性和方法组成。对象是由数据和容许的操作组成的封装体。对象可以做的操作表示它的动态行为。属性是对象所包含的信息,属性值应该指的是纯粹的数据值,而不能指对象。
①信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
②模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
③衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化的自然扩展。
(2)类:将属性、操作相似的对象归结为类,所以类具有共同属性、共同方法的对象的集合。所以类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。
①UInt是一个无符号整数类,它描述了所有无符号整数的性质。因此任何无符号整数都是无符号整数类的对象,而一个具体的无符号整数"369"是类UInt的一个实例。
②整数都是整数类的对象,一个具体的整数0×518是整数类的实例。
③字符常量是单引号括起来的一个字符,例如’a’,也可以通过转义序列表示方法表示一些不可显示字符或无法通过键盘输入的字符,例如”\n'的含义是换行,属于字符类的实例。
(3)实例:一个具体对象就是其对应分类的一个实例。
(4)消息:对象间的通信靠消息传递,实例间传递的信息,它统一了数据流和控制流。
(5)继承:使用已有的类定义作为基础建立新类的定义技术。对象不一定必须有继承性。
(6)多态性:指对象根据所接受的信息而作出动作,同样的信息被不同的对象接收时有不同行动的现象。同一个操作可以是不同对象的行为。
面向对象程序设计的优点:与人类习惯的思维方法一致、稳定性好、可重用性好、易于开发大型软件产品、可维护性好。
面向对象方法中最基本的概念是对象,它的基本特点有:标识唯一性、分类性、多态性、封装性和模块独立性好。