如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第2章程序设计基础知识类型:理论学时:2学时分值:约4分2.1程序设计方法与风格2.2结构化程序设计2.2结构化程序设计优点:有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改。每一种相对于老问题的新方法都要带来额外的开销。图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。与人类习惯的思维方法一致稳定性好可重用性好易于开发大型软件产品可维护性好将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类通过一个简单的外部接口,与外界发生关系。对象与对象之间通过消息进行通讯。1.对象(object)<例>有一个人名字叫胡哥,性别男,身高1.80m,体重68kg,可以修电器,可以教计算机课,描述该对象如下:对象的静态特征:性别:男身高:1.80m体重:68kg对象的动态特征:回答身高回答体重回答性别修理电器教计算机课1.对象(object)1.对象(object)2.类(Class)和实例(Instance)<例>钟表类的定义classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};voidClock::SetTime(intNewH,intNewM,intNewS){Hour=NewH;Minute=NewM;Second=NewS;}voidClock::ShowTime(){printf(“%d:%d:%d”,Hour,Minute,Second);}#include<iostream>classClock{......//类的声明略}//......类的实现略intmain(){ClockmyClock;myClock.SetTime(8,30,30);myClock.ShowTime();}3.消息(message)<例>4.继承(inheritance)保持已有类的特性而构造新类的过程称为继承。在已有类的基础上新增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)。派生出的新类称为派生类。继承的目的:实现代码重用派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。继承与派生问题举例继承与派生问题举例继承与派生问题举例继承与派生问题举例5.多态性(polymorphism)多态:同一名称,不同的功能实现方式。目的:达到行为标识统一,减少程序中标识符的个数。实现:重载函数和虚函数总结类对象方法(行为)封装性继承性与多态性练习题5.下面对对象概念描述错误的是______。A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性6.算法一般都可以用哪几种控制结构组合而成______。A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环7.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。A.调用语句B.命令C.口令D.消息8.在设计程序时,应采纳的原则之一是______。A.程序结构应有助于读者理解B.不限制goto语句的使用C.减少或取消注解行D.程序越短越好9.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考10.采用面向对象技术开发的应用系统的特点是______。A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂1.结构化程序设计的三种基本逻辑结构为顺序、选择和()2.在面向对象方法中,信息隐蔽是通过对象的()性来实现的.3.类是一个支持集成的抽象数据类型,而对象是类的()4.在面向对象方法中,类之间共享属性和操作的机制称为()。5.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个()。6.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的()7.面向对象的模型中,最基本的概念是对象和()。8.结构化程序设计是一种面向()的设计方法.9