一程序设计方法与风格Word下载.docx
- 文档编号:20613469
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:7
- 大小:21.54KB
一程序设计方法与风格Word下载.docx
《一程序设计方法与风格Word下载.docx》由会员分享,可在线阅读,更多相关《一程序设计方法与风格Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
要编写一个程序,首先要掌握一种程序设计语言和它的开发环境,同时也要熟悉问题世界的知识和掌握把问题世界转化为程序世界的方法(即程序设计方法)。
程序设计方法是指用什么观点来研究问题并对问题进行求解,以及怎样进行系统构造的软件方法学。
常用的程序设计方法包括结构化程序设计方法、软件工程方法和面向对象方法等。
3、编码风格
编码风格是指在不影响程序正确性和效率的前提下,有效编排和组织程序的基本原则。
一个具有良好编码风格的程序主要表现为可读性好,易测试、易维护。
良好的编码风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。
编码风格主要体现在以下几个方面。
①源程序文档化
a.符号名的命名(如模块名、变量名、常量名等)能够反应它所代表的实际东西,应具
一定的实际含义,以便理解程序功能。
b程序注释通常使用自然语言书写,给程序的整体说明以及相关语句或程序段的功能说明,增加程序的可读性。
注释一般为序言性注释和功能性注释。
序言性注释常为于程序的开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、副审者、复审日期及修改日期等。
功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序的主要功能。
c程序的视觉组织:
在程序中利用空格、空行和缩进等技巧,是程序的逻辑结构更加清晰,层次更加分明。
②数据说明的方法
数据说明是对程序中数据结构的组织和描述。
数据说明应注意以下几点:
a数据说明的次序规范化
b说明语句中变量安排有序化
c使用注释来说明复杂数据的结构
③语句结构
语句是构成程序的基本单位,语句的构造方式和书写格式对程序的可读性具有非常重要的决定作用。
语句结构不能为了片面追求效率而使语句复杂化,而应力求简单、直接,以便程序更易于阅读和理解,构造语句时应注意以下几个问题:
a语句应简单直接
b对复杂的表达式应加上必要地括号是表达式清晰
c不要书写太复杂的条件,嵌套的重数不宜过多
d为了不破坏结构化程序设计中结构的清晰性,在程序中应尽量使用强制类型转移语句gotoe对于程序中需要重复出现的代码段,应将其用独立模块(函数或过程)实现
为了便于对程序的阅读,书写格式的规范是不不可少的。
书写程序时应注意以下几个主要问题:
a虽然很多语言都允许在一行内书写多条语句,但最好在一行内只写一条语句,使程序看起来更清晰
b书写语句时,应当使用递缩格式来使程序的层次更加清晰
c在模块之间通过加入空行进行分隔
④输入、输出
对用户来说,输入、输出(操作界面)就是应用系统本身,直接与用户使用相关。
因此,输入输出方式和风格应当尽可能地方便用户的操作和使用。
输入、输出方式和风格需考虑以下几点:
a输入方式应力求简单、尽量避免给用户带来不必要的麻烦
b在以交互式输入/输出方式进行输入时,应有必要的提示信息,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息。
c程序应对输入数据的合法性进行检查
d如用户输入某些数据后可能产生严重后果,应给用户输出必要的提示并要求用户确认。
e应根据系统的特点和用户的习惯设计出令用户满意的输出方式
f输出数据的格式应清晰简洁
g输出数据时要加上必要的提示信息
二、结构化程序设计
1、结构化程序设计的基本结构和特点
&
#129;
结构化程序的基本结构
程序设计语言仅通过顺序、选择和循环3种基本控制结构就能够表示出其他各种形式结构的程序设计方法。
a顺序结构:
是一种简单的程序设计结构,顺序结构自始至终严格按照程序中语句的先后顺序逐条执行,是最基本、最普遍的结构形式
b选择结构:
又称选取结构,分支结构,包括简单选择和多分枝选择结构。
选择结构中,根据给定的条件P是否成立而选择执行A或执行B。
c循环结构:
又称重复结构,即反复执行某一部分的操作。
在程序设计语言中循环结构有两类循环语句:
Ⅰ当型(While)循环结构:
对循环体先判断再执行
Ⅱ直到型(Until)循环结构:
先执行循环体后判断
②结构化程序的特点
顺序、选择和循环这3种基本结构,有以下共同特点:
a只有一个入口
b只有一个出口
c结构内的每一部分都有机会被执行到
d结构内不存在"
死循环"
程序结构仅由顺序、选择和循环3种基本结构复合而成。
可以自底而上逐步抽象,最终抽象成一个函数型节点。
由顺序、选择和循环3种基本结构顺序组成的算法结构,可解决任何复杂的问题。
由基本结构所构成的算法属于"
结构化"
的算法,它不存在无规律的转向,只在该基本结构内才允许存在分支和向前或向后的跳转
2、结构化程序设计原则和方法
过去,程序被看成是处理数据的一系列过程,过程或函数则被定义为一个接一个顺序执行的一组指令,而且数据与程序被分开存储。
由于软件危机的出现,人们便开始研究程序设计方法、结构化程序设计方法也应运而生。
一个结构化程序就是用高级语言表示的结构化算法,这种程序便于编写、阅读、修改和维护。
这就减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。
结构化程序设计强调程序设计风格和程序结构的规范化,提高清晰的结构。
结构化程序设计方法的主要思想是把复杂的问题分解成若干简单的子问题并逐步求精。
具体的说,结构化程序设计就是采取以下方法:
①自顶而下:
就是先考虑总体,再考虑细节;
先考虑全局目标,后考虑局部目标。
这种程序结构按功能划分为若干个基本模块,这些模块形成一个树状结构。
②逐步求精:
对复杂问题,设计一些子目标做过渡,逐步细化。
也就是把复杂问题分解成一系列简单的子问题,直到这些小问题小到易于理解和实现的程度。
③模块化设计:
就是把程序要解决的总目标分解为目标,再进一步分解为具体的小目标,把每一个目标成为一个模块。
④结构化编码:
即用高级语言语句正确实现3种基本结构。
结构化程序设计是面向过程的程序设计方法,它具有很多优点,其核心是结构化算法。
它把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所用相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可用性差。
而且当数据增大时,数据与处理这些数据的方法之间的分离会使程序越来越难以理解。
三、面向对象的程序设计方法
1、面向对象的方法
①面向对象方法的基本思想
面向对象的程序设计(Object-OrientedProgramming,OOP)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OOP方法。
面向对象方法的本质就是主张从客观世界固有的事务出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域,即系统中的对象以及对象之间的关系能够如实地反映问题域中的固有事务及其关系。
面向对象方法的基本思想描述如下:
a客观世界的任何事物都是对象,它们都有一些与数据结构相应的静态属性和与程序模块相应的相关操作。
作为一个整体,从外面看只能看到对象的外部特征,而这些对象的属性和操作不用对外公开,并尽可能地隐藏对象内部的信息
b对象之间有抽象和具体、群体和个人、整体和部分等几种关系。
对象概念间的网络结构由这些关系构成。
c较大的、抽象的对象所具有的性质包括静态属性和动态操作,自然地成为其子类的性质,而不是重复说明或规定。
d对象之间可以相互传送信息,消息传递是对象间通信的手段。
一个对象通过向另一个对象发送消息来请求服务。
消息通常包括接收对象、调用的操作名以及适当的参数。
②面向对象程序设计的优点
a面向对象的方法符合人们认识客观世界的规律
面向对象方法以客观世界中系统的实体为基础,将客观实体的属性及其操作封装成对象。
人们把描述事物静态属性的数据结构和表示事物的动态行为的操作放在一起构成一个整体,用来表示客观世界中的实体。
而传统的程序设计方法是面向过程的,它忽略了数据与操作之间的内在联系,用该方法设计出来的软件系统的空间和问题空间不一致,会令人难以理解。
面向对象的基本原理是:
以现实世界的概念抽象地思考问题,从而自然地解决问题。
面向对象方法的核心是对象,用面向对象方法开发的系统相对比较稳定。
b稳定性好
面向对象的软件系统的结构不是基于系统完成的功能的分解,而是根据问题域的模型建立起来的,因此,当系统的功能需求变化时并不会引起软件结构的整体变化,往往只需要做一些局部型修改。
而传统的软件开发方法的核心是算法,其开发过程基于功能分析和功能分解。
当功能需求发生变化时将会引起软件结构的整体修改。
c可重用性好
在同一个应用领域的不同应用系统中,往往会涉及到很多相同或相似的实体,这些实体在不同的应用系统存在很多相同的属性和操作木业存在一些不同的应用系统所特有的属性和操作。
软件重用是指在不同的软件开发过程中重复使用相同或相似软件元素的过程,是提高软件生产效率的最主要方法。
面向对象的软件开发技术在利用可重用的软件成分构成新的软件系统时,具有很大的灵活性。
重复使用一个对象类有两种方法:
一种是创建该类的实例,从而直接使用它;
另一种是从它派生出一个满足当前需要的新子类。
d面向对象方法开发的软件易于维护,其体型结构易于理解、扩充和修改。
用面向对象开发的软件易于维护,而且易于测试和调试。
面向对象开发的软件稳定性比较好,比较容易修改,易于理解,而且易于测试和调试。
面向对象方法开发的软件系统由对象类构成,对象的封装很好的体现了抽象和信息隐蔽的特征。
对象用属性和操作作为接口,用户只能通过接口访问对象,对象的具体实现对外是不公布的。
对象的接口确定之后,实现细节的修改不会对其他对象产生影响,便于维护。
2、面向对象的基本概念
①对象:
在现实世界中,每个实体都是对象,它可以是有形的(如汽车、电视机等),也可以是无形的(如工作计划、教学计划等)。
对象时指具有属性(数据)和操作(行为方式)的实体。
它具有自身的静态特征和动态特征。
在面向对象方法学中,对象时由描述该对象属性的数据和可以对这些数据进行的操作封装在一起的一个统一体。
对象包含以下特征:
a标示的唯一性:
指对象时可以区分的
b分类性:
是指可以把具体相同属性和操作的对象抽象为类
c封装性:
指从外面仅能看到对象的外部特征,而不了解数据是如何实现这些操作的。
d多态性:
指同一个操作可以作用于不同的对象。
e模块独立性好:
指对象(模块)内部各元素彼此结合的很密,内聚性强。
②属性
属性是指对象所包含的信息,它在设计对象时就确定,一般只能通过执行对象的操作来改变。
属性通常是一些数据,有时也可以是另外一个对象。
例如,书是一个对象,它的属性有书名、作者、出版社、出版日期、定价等属性,其中书名、出版日期、定价是数据,作者和出版社可以是对象,它们也可以有自己的属性。
每个对象都有它自身的属性值,用以表示该对象的状态。
③方法
方法也称为操作或服务,它规定了对象的行为,表示对象所能提供的服务。
对象中的属性只能通过该对象所提供的操作来存取或修改,操作的过程对外是封闭的。
封装作为一种隐蔽技术,用户只能看见对象封装界面上的信息,而对象内部的具体实现是隐蔽的,用户看不见。
封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。
一个对象通常可以由对象名、属性和操作组成。
④类
把属性、操作相似的对象归为类,也就是说,类是一组具有相同属性和相同操作的对象的集合,是已经定义了关于对象的特征、外观和行为的模板。
一个类的对象对应于类的一个实例。
例如"
树"
是一个类,"
类的实例"
柳树"
、"
白杨树"
都是对象。
即对象是客观世界中的实体,而类是同一类实体的抽象描述。
类具有属性,属性是状态的抽象;
类也具有操作,它是对象行为的抽象。
构造函数和析构函数是两类特殊的成员函数。
构造函数与类名完全相同,系统在创建对象时自动调用,通常在来的构造函数中进行初始化工作。
析构函数是在类名之前加上字符"
~"
,在对象消亡时系统自动调用,通常在析构函数中进行一些清理工作,例如释放不再需要的空间等。
访问对象的一般成员用"
."
访问,访问对象的指针成员用"
-"
访问。
⑤继承
继承也称为派生,它是使用已有的类定义为建立新类的定义的基础的技术。
已有的类可当做基类来实现,则新类相应地可作为派生类来引用。
也就是说,基类是用来生成新类的类,而派生类是由已有的类派生出来的新类,也叫子类。
广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。
子类可以继续其父类的所有属性和操作,同时子类中还可以定义自己特有的属性和操作。
继承分为单一继承和多重继承。
单一继承(即单继承)是指一个子类只有唯一的一个父类,多重继承是指一个子类有一个以上的父类。
多重继承的类可以组合父类的性质构成自己所需要的性质。
继承的方式有3种:
public、private和protected。
继承的使用,使得相似对象可以共享程序代码和数据结构,减少程序中的多余信息,一个对象向另一个对象发送消息,请求服务,接收消息的对象经过解释,然后响应请求对象。
⑥消息
消息一般包括接收对象、调用的操作名和适当的参数。
消息传递是对象之间通信的手段,一个对象向另一个对象发送消息,请求服务,接收消息的对象经过解释,然后响应请求对象。
⑦多态性
多态性是指同一个操作作用于不同的对象可以有不同的类型或表现出不同的行为。
也可以这样说,相同的操作的消息发送给不同的对象时,那些对象只会根据自己所属的类中定义的操作来执行,因而表现出不同的行为。
多态性机制进一步减少了信息的冗余,增加了面向对象软件系统的灵活性,而且显著地提高了软件的可重用型和可扩充性。
特别声明:
1:
资料来源于互联网,版权归属原作者
2:
资料内容属于网络意见,与本账号立场无关
3:
如有侵权,请告知,立即删除。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 方法 风格