《2程序设计基础(精品).ppt》由会员分享,可在线阅读,更多相关《2程序设计基础(精品).ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 程序设计基础程序设计基础2.1 程序设计方法和风格2.2 结构化程序设计2.3 面对对象的程序设计2.1 2.1 程序设计方法与风格程序设计方法与风格 程序设计方法与技术的发展经过了程序设计方法与技术的发展经过了结构化程序设计结构化程序设计和和面向对象面向对象程序设计程序设计两个阶段。两个阶段。“清晰第一,效率第二清晰第一,效率第二”的论点已成为当今主导的程序设计风的论点已成为当今主导的程序设计风格。格。主要应注重和考虑以下一些因素:主要应注重和考虑以下一些因素:1 1、源程序文档化、源程序文档化符号名的命名(符号名的命名(有一定的实际含义有一定的实际含义)程序注释(程序注释(序
2、言性注释和功能性注释序言性注释和功能性注释)视觉组织(在程序中利用空格、空行、缩进等技巧视觉组织(在程序中利用空格、空行、缩进等技巧使程序使程序层次清晰层次清晰)2 2、数据说明的方法、数据说明的方法 数据说明的风格应该符合人的习惯思维数据说明的风格应该符合人的习惯思维A A、数据说明的次序规范化、数据说明的次序规范化B B、说明语句中变量安排有序化、说明语句中变量安排有序化C C、使用注释来说明复杂数据结构、使用注释来说明复杂数据结构3 3、语句的结构:、语句的结构:语句结构应该简单直接,不应该为提高效率把语句复杂化语句结构应该简单直接,不应该为提高效率把语句复杂化4 4、输入和输出、输入和
3、输出 合法、合理、简单、自由、允许缺省值、结束标志、提示合法、合理、简单、自由、允许缺省值、结束标志、提示 信息、给输出加注释信息、给输出加注释2.2 2.2 结构化程序设计结构化程序设计 2.2.1 2.2.1 结构化程序设计的原则结构化程序设计的原则1 1、自顶向下、自顶向下(先总体再细节,先全局再局部)(先总体再细节,先全局再局部)2 2、逐步求精、逐步求精(复杂的问题设计子目标,逐步细化)(复杂的问题设计子目标,逐步细化)3 3、模块化、模块化(把总目标分成一个个模块)(把总目标分成一个个模块)4 4、限制使用、限制使用gotogoto语句语句(程序的质量与(程序的质量与GOTOGOT
4、O语句的数量成反比)语句的数量成反比)2.2.2 2.2.2 结构化程序的基本结构与特点结构化程序的基本结构与特点 基本结构:基本结构:1 1、顺序结构顺序结构:一种简单的程序设计,最基本、最常用的结构;一种简单的程序设计,最基本、最常用的结构;2 2、选选择择结结构构(简简单单选选择择和和多多分分支支选选择择结结构构)可可根根据据条条件件,判断应该选择哪一条分支来执行相应的语句序列判断应该选择哪一条分支来执行相应的语句序列 3 3、重重复复结结构构(循循环环结结构构)可可根根据据给给定定条条件件,判判断断是是否否需需要要重重复复执行某一相同程序段执行某一相同程序段 优点:优点:程序易于理解、
5、使用和维护;程序易于理解、使用和维护;提高了编程的效率,降低了软件成本提高了编程的效率,降低了软件成本2.3 2.3 面向对象的程序设计面向对象的程序设计 2.3.1 2.3.1 面向对象方法的面向对象方法的本质本质 主主张张从从客客观观世世界界固固有有的的事事物物出出发发来来构构造造系系统统,提提倡倡用用人人类类在在现现实实生生活活中中常常用用的的思思维维方方法法来来认认识识、理理解解和和描描述述客客观观事事物物,强强调调最最终终建建立立的的系系统统能能够够映映射射问问题题域域,也也就就是是说说,系系统统中中的的对对象象以以及及对对象象之之间间的的关关系系能能够够如如实实地地反映问题域中固有
6、事物及其关系。反映问题域中固有事物及其关系。面向对象方法的优点:面向对象方法的优点:接近人类习惯的思维方法;接近人类习惯的思维方法;稳定性好;稳定性好;可重用性好;可重用性好;易于开发大型软件产品;易于开发大型软件产品;可维护性好。可维护性好。2.3.2 2.3.2 面向对象方法的基本概念面向对象方法的基本概念 1 1、对象、对象 (1 1)定定义义:是是指指描描述述该该对对象象属属性性的的数数据据以以及及对对这这些些数数据据施施加加的的所所有有操操作作封封装装在在一一起起构构成成的的统统一一体体。对对象象是是面面向向对对象象方方法法中中最最基基本本的的概概念念,可可以以用用来来表表示示客观世
7、界中的任何实体,客观世界中的任何实体,对象是实体的抽象对象是实体的抽象。(2 2)对象的属性和方法:)对象的属性和方法:面面向向对对象象的的程程序序设设计计方方法法中中的的对对象象是是系系统统中中用用来来描描述述客客观观事事物物的的一一个个实实体体,是是构构成成系系统统的的一一个个基基本本单单位位,由由一一组组表表示示其其静静态态特特征征的的属属性性和和它它可可执执行行的的一一组组操操作作组组成成。属属性性是是对对象象所所包包含含的的信信息息,它它在在设设计计对对象象时时确确定定,一一般般只只能能通通过执行对象操作才能改变。过执行对象操作才能改变。方方法法(操操作作)描描述述了了对对象象执执行
8、行的的功功能能,若若通通过过消消息息传传递递,还还可可以为其他对象使用。操作也称为方法或服务。以为其他对象使用。操作也称为方法或服务。(3)对象的基本特点)对象的基本特点a.标志唯一性标志唯一性(对象由其内部本质来区分)(对象由其内部本质来区分)b.分类性分类性(将相同属性和方法的对象抽象为类)(将相同属性和方法的对象抽象为类)c.多态性多态性(同一操作可以是不同对象的行为)(同一操作可以是不同对象的行为)d.封装性封装性(从外部看不到对象的内部,只能看到外部特征)(从外部看不到对象的内部,只能看到外部特征)e.模块独立性好模块独立性好(一个对象相当于一个模块)(一个对象相当于一个模块)模块的
9、独立性与信息隐蔽直接相关,模块的独立性与信息隐蔽直接相关,信息隐蔽是通过对象的封装来实现信息隐蔽是通过对象的封装来实现2007.9.3例:在面向对象方法中,实现信息隐蔽依靠A.对象的继承B.对象的封装C.对象的多态D.对象的分类 2 2、类和实例、类和实例 类类是是具具有有共共同同属属性性、共共同同方方法法的的对对象象的的集集合合,类类是是对对象象的的抽抽象象,它它描描述述了了属属于于该该对对象象类类型型的的所所有有对对象象的的性性质质,而而一一个个对对象象则则是是其其对应类的一个实例。对应类的一个实例。注意:当使用“对象对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,而使用“
10、实例实例”时,必然指一个具体的对象。例如:一个大学生类,张三是一个实例3、消息、消息 是指对象间的相互合作的协助机制,是一个对象与另一个对象是指对象间的相互合作的协助机制,是一个对象与另一个对象之间传递的消息。见书上图之间传递的消息。见书上图 消息的组成:接受消息的对象名称消息的组成:接受消息的对象名称 消息标识符消息标识符 零个或多个参数组成。零个或多个参数组成。消息只告诉接收对象需要完成什么操作,但并不指示怎样完成操作一个象能够接受不同形式、不同内容的多个消息;相同形式的消息可以送往不同的对象,不同的对象对形式相同的消息可以有不同的解释,能够做出不同的反映。一个对象可以同时往多个对象传递信
11、息,两个对象也可以同时向某个对象传递消息。例:Mycircle.show(green)Mycircle是一个R=4,C(100,200)的circle类的对象。也就是circle类的一个实例,当要求它以绿颜色在屏幕上显示自己4、继承、继承 是指使用已有的类定义作为基础建立新类的定义技术。是指使用已有的类定义作为基础建立新类的定义技术。具有具有传递性。传递性。广义地说,继承是指能够直接获得已有的性质和特性,而不必重复定义它们。广义地说,继承是指能够直接获得已有的性质和特性,而不必重复定义它们。传递性:传递性:如果类C继承类B,类B继承类A,则类C继承类A 继承分为单继承和多继承。前者一个类中只允
12、许有一个父继承分为单继承和多继承。前者一个类中只允许有一个父类,而后者中一个类允许有多个父类。类,而后者中一个类允许有多个父类。例如:“水陆两用交通工具”类,既继承了“路上交通工具”类,又继承了“水上交通工具”类的特性。继承性的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序的冗余信息,提高软件的可重用性,便于软件修改维护。另外,继承性使得用户在开发新的应用系统时不必完全从零开始,可以继承原有的相似的系统的功能或者从类库中选取需要的类,再派生出新的类以实现所需要的功能。5、多态性、多态性 是指同样的消息被不同的对象接受时可导致完全不同的动作的是指同样的消息被不同的对象接受时可导致完全不同的动作的现象。现象。减少了信息冗余,提高了软件的可重用性和可扩充性。减少了信息冗余,提高了软件的可重用性和可扩充性。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象,也可以发送给子类对象。例如:类:多边形(polygon)操作:显示(show)类:矩形(rectangle)操作:显示(show)类:正方形(square)操作:显示(show)优点:优点:A.增加面向对象软件系统的灵活性,减少了信息的冗余。增加面向对象软件系统的灵活性,减少了信息的冗余。B.提高了软件的可重用性和可扩充性。提高了软件的可重用性和可扩充性。