第7章 类和对象的设计
- 格式:ppt
- 大小:685.50 KB
- 文档页数:18
第一章程序设计基础知识一、基础题1.以下关于算法的描述中,错误的是(D)A.算法中描述的操作都是用已经实现的基本运算组成的B。
算法必须由计算机程序实现C.算法应该易于理解、易于实现和易于调试D.算法不应该处理输入的非法数据2.以下哪项不属于数据的逻辑结构(A)A.单链表B.输C.图D.集合5.(B)程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。
A.面向对象B.结构化C.函数式D.事件驱动6.强调以现实世界中的客观事物为中心来建立问题域模型,这种程序设计方法成为(C)A.事件驱动程序设计B.结构化程序设计C.面向对象程序设计D.函数式程序设计7.以下程序段是用(B)程序设计语言编写的。
MOV AX,ASUB AX,BMOV C,AXHLTA.机器B.汇编C.C#D.Java10.下列关于解决方案的叙述中,不正确的是(B).A.一个解决方案可以包含多个项目B.解决方案可以包含的项目只能是类库C.利用解决方案资源管理器可以管理解决方案D.解决方案可以将多个项目组织在一起形成一个工作单元二、应用题1.简述程序设计的步骤.答:(1)分析问题:明确要解决什么问题(2) 设计算法:数据结构和算法(3)编写程序:将算法用程序设计语言描述出来(4)调试运行:语法错误、语义错误、异常4.简述C#语言的特点.答:(1)完全面向对象:具有面向对象语言的一切特性(2)简单易学:熟悉C、C++或Java即可掌握C#语言(3)安全:避免使用指针;自动内存管理和垃圾回收;使用委托取代函数指针.(4)跨平台:可以运行在不同操作系统上。
(5)跨语言:与任何支持。
NET的语言互相交换信息(6)强大的Web编程能力: Web应用程序第三章数据与变量一、基础题1。
以下不属于C#语言中基本数据类型的是(D)A.整数类型B。
浮点类型C.字符类型D。
枚举类型2.使用变量a存放数据-389,则将变量a定义为(B)类型最为合适.A。
【章节】第1章 C++基础知识【知识点】1、 C++程序的构成与书写形式;2、基本数据类型,常量、变量和表达式3、 C++的标准输入输出【单选题】1、在C++中,源程序变为可执行程序的正确顺序应该是( ) 。
A. 编辑、链接、编译、执行B. 编辑、编译、链接、执行C. 编译、编辑、链接、执行D. 编译、链接、编辑、执行答案:B2、要把高级语言编写的源程序转换为目标程序,需要使用( ) 。
A. 编辑程序B. 驱动程序C. 调试程序D. 编译程序答案:D3、下列关于C++与C语言的关系描述中,错误的是( ) 。
A. C语言是C++语言的一个子集B. C++与C语言是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的答案:D4、下面为使用面向对象语言的正确理由是( ) 。
A. 面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构B. 程序语句比面向过程语言简单C. 面向对象程序设计可以设计为自行修改错误D. 面向对象程序很容易概念化答案:D5、以下选项中,合法的用户标识符是( ) 。
A. longB. _2TestC. 3DmaxD. A.dat答案:B6、下列描述中正确的是( ) 。
A. 不是每个C++程序都必须包含预处理命令#includeB. C++程序必须有return 语句C. C++程序中的变量必须定义在主程序内部D. C++程序中所使用的符号常量可以不进行定义答案:A7、C++源程序文件的扩展名为( ) 。
B. .CC. .DLLD. .EXE答案:A8、cout是I0流库预定义的( ) 。
A. 类B. 对象C. 包含文件D. 常量答案:B9、 C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( ) 。
A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念答案:D10、下列选项中,( ) 是不合法的标识符.A. ProgramB. Obj23C. doubleD. B_C_D答案:C11、下列标识符中,不合法的用户标识符为( ) 。
第七章面向对象的程序设计本章是面向对象的程序设计。
与第五章介绍的面向过程的结构化程序设计不同,主要介绍面向对象程序设计的基础知识,包括面向对象的基本概念以及Visual FoxPro支持的面向对象的编程技术,详尽介绍了对各类控件的选择与使用方法。
在对诸如表单等各类控件对象的设计、操作上,面向对象的编程技术有自己的独特之处,但在所有对象的各种事件和方法的程序代码设计中,仍然使用到结构化的程序设计方法。
本章的主要内容是面向对象程序设计的理论基础,其程序设计的基本目标是设计出能在可视化环境下运行的应用程序窗口界面—表单。
7.1 学习提要1.学习目标与要求通过本章学习,读者应达到以下要求:⑴了解对象、类等基本概念;⑵理解对象的属性、方法和事件;⑶熟练掌握表单的基本设计、操作和应用;⑷掌握常用控件的设计与使用。
⑸熟练掌握常用事件、方法的过程代码的设计方法。
⑹了解自定义类的创建和使用方法。
2.重点与难点:⑴本章重点:对象与类以及属性、方法和事件等基本概念;表单的设计与应用;常用控件属性、事件和方法的选择与运用。
⑵本章难点:本章的重点即为本章的难点3.主要知识点⑴面向对象的概念①对象、类②属性、方法、事件③Visual FoxPro 中的基类⑵表单的创建与基本操作①表单的创建使用“窗体设计器”或“表单向导”创建表单。
②表单的修改、运行使用“窗体设计器”编辑修改表单。
使用菜单或命令方式运行表单。
③表单的属性、事件和方法表单常用属性的设置,表单的常用事件、常用方法。
④设置表单的数据环境数据环境的概念,数据环境的设置。
⑶表单常用控件①表单常用控件的基本操作控件对象的选定,移动位置,改变大小,剪切、复制与粘贴,删除,布局设置。
②常用控件对象标签控件,命令按钮与命令按钮组控件,文本框与编辑框控件,选项组和复选框控件,列表框和组合框控件,容器与表格控件,页框控件,计时器与微调控件,图像控件等。
③控件对象的常用属性设置Caption属性,Name属性,Alignment属性,ButtonCount属性,BackColor属性,BorderColor属性,BorderStyle属性,Enabled属性,ForeColor属性,InputMask属性,PasswordChar属性,Picture属性,Height属性,Width属性,Left属性,Top属性,Value属性,Visible属性,FontName属性,FontSize属性,ControlSource属性。
第七章面向对象学习方法学面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间与实现解法的解空间在结构上尽可能一致.与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性,可修改性和可重用性都比较好.本章内容主要包括:传统方法学的缺点,面向对象的基本概念,面向对象模型.7.1 基础知识7.1.1 传统方法学的缺点结构化几其他方法学的本质,是在具体的软件开发之前,通过需求分析预先定义软件需求.然后一个一个阶段地开发用户所需要的软件,实现预先定义的软件需要.过去的经验需要告诉我们,结构化及其他方法学并不能完全消除软件危机.结构化及其他方法学仍然有许多不足之处.1.问题的表现1)生产效率低在生命周期方法学中,特别重视软件开发的阶段性.为了提高了软件开发的效率,减少重大返工次数,强调必须早每个阶段结束之前进行评估.从而开发过程中实行严格的质量管理,确实提高了许多软件的开发的成功率.但是,时间表明,开发高利率仍然很有用.2)不能满足用户需要实践表明,在开发需要模糊或需求动态变化的系统时,软件系统的结果往往不能满足用户需求的变化.主要表现在两个方面:一种是开发人员不能完全获得彻底理解用户的需要,以至开发的软件系统与用户预期的系统不一致;另一种表现是,所开发的系统不能适应用户需求变化,系统的稳定性和可扩充性不能满足需要.3)软件服用就是将已有的软件成分用于构造新的软见系统.软件复用是节约人力,提高软件效率的重要途径.结构分析.设计,几乎每一次开发一个系统时都需要针对这个具体的系统做大量的重复劳动..思维成果的可复用性差.4)软件很难维护实践经验告诉我们,即使是用生命周期方法学开发出来的软件,维护起来仍然相当困难,软件维护成本很高.2.问题的原因1)结构化技术本身的问题结构分析和设计技术的基本思想是从目标系统整体功能的单个处理着手,自顶向下不断的把复杂的处理分解为子处理,一层一层的分解下去,直到剩下若干个容易实现的子处理为止。
《面向对象程序设计》课程标准1.课程说明《面向对象程序设计》课程标准课程编码〔 38321 〕承担单位〔计算机信息学院〕制定〔〕制定日期〔2022年11月16日〕审核〔专业指导委员会〕审核日期〔2022年11月20日〕批准〔二级学院(部)院长〕批准日期〔2022年11月28日〕(1)课程性质:本门课程是物联网应用技术专业的必修课程。
(2)课程任务:主要针对程序员、测试员等岗位开设,主要任务是培养学生在软件工程项目开发岗位上的程序设计能力,要求学生掌握面向对象程序设计方面的基本技能。
(3)课程衔接:在课程设置上,前导课程有《计算机应用基础》、《C语言程序设计》、《Java程序设计》,后续课程有《物联网应用系统开发》、《物联网综合项目实训2》。
2.学习目标通过本门课程的学习,使学生掌握面向对象的基本概念和使用面向对象技术进行程序设计的基本思想;掌握面向对象编程工具的使用方法;培养学生动手开发程序的能力,使学生养成善于观察、独立思考的习惯,同时通过教学过程中的实际开发环节强化学生的职业道德意识和素养,为学生以后从事专业化软件开发工作奠定坚实基础。
通过本门课程的学习,使学生熟练掌握C#程序设计开发运行的环境配置和使用方法,使学生能够应用C#程序设计语言进行程序编写和调试,进一步掌握面向对象程序设计的基本理念。
3.课程设计本课程以C#物联网实训系统项目为载体,与新大陆公司合作设计了若干个典型事例作为具体的学习情境;根据岗位要求,确定学习目标及学习任务;本课程采取项目教学和案例教学的教学模式,以学生为主体、以培养学生面向对象程序设计能力和提高团队合作意识为导向组织教学考核。
表1:学习领域的内容与学时分配表2:课程总体设计4.教学设计表3:学习情境设计5.课程考核本课程的考核主要由平时成绩、期末考试两部分组成。
其中:(1)平时成绩:平时成绩占总成绩的30%,主要考查指标有:平时上课出勤情况、课堂表现、作业完成情况、实训环节等。
UML 系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP 开发模型2. 选择题(1)C(2)A B C D(3)A B C D(4)A B C(5)A1.试述对象和类的关系。
(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。
第二章UML 通用知识点综述(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2. 选择题(1)D(2)C(3)A(4)A B(5)D(6)1)在UML 中面向对象的事物有哪几种?在UML 中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。
(7)2)请说出构件的种类。
构件种类有:源代码构件、二进制构件和可执行构件。
(8)3)请说出试图有哪些种类。
在UML 中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。
(9)4)请说出视图和图的关系。
视图和图是包含和被包含的关系。
在每一种视图中都包含一种或多种图。
(10)5)请简述UML 的通用机制。
UML 提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML 在各种图中添加适当的描述信息,从而完善UML 的语义表达。
通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML 建模。
UML 提供的这些通用机制,贯穿于整个建模过程的方方面面。
前面我们提到,UML 的通用机制包括规格说明、修饰和通用划分三个方面。
第三章Rational 统一过程(11)1 )角色活动产物工作流(12)2 )逻辑视图过程视图物理视图开发视图用例视图(13)3)设计开发验证(14)4 )二维(15)5)周期迭代过程里程碑(16) A B C D(17) A C D(18) A C D(19) A B C(20) A B C D(21)1 )请描述迭代过程有几个阶段。
第七章类和对象一、选择题1.下列关于构造函数的描述正确的是()A)构造函数可以声明返回类型。
B)构造函数不可以用private修饰C)构造函数必须与类名相同D)构造函数不能带参数2.下列关于C#中索引器理解正确的是( )A)索引器的参数必须是两个或两个以上B)索引器的参数类型必须是整数类型C)索引器没有名字D)以上皆非3.以下类MyClass 的属性count 属于_____属性.class MyClass{int i;int count{get{ return i; }}}A)只读B)只写C)可读写D)不可读不可写4.类MyClass 中,下列哪条语句定义了一个只读的属性Count?A)private int Count;B)private int count;public int Count{get{return count;}}C)public readonly int Count;D)public readonly int Count{get{ return count;}set{count = value;}}二、填空题1.面向对象最重要的特点有、、。
2.默认的构造函数为,析构函数为。
三、简答题1.简述类和对象的关系2.请叙述属性与索引器的区别。
3.下列的Main 方法的定义是否为合法的程序入口点?namespace MyProgram{public static void Main() {MyClass.DoSomething();}class MyClass{public static void DoSomething(){……}}}4.请写出类声明的语法格式。
5.什么是常量?关键字是什么?6.请比较关键字readonly和const的区别。
7.构造函数有何特点?8.什么是重载?通过举例说明,有的程序中使用重载的必要性。
9.什么是属性过程?为何要使用属性过程?四、程序分析题1.下面程序是否有误?public int staticInt ;static MyClass(){Console.WriteLine(staticInt);Console.WriteLine("The static constructor invoked.");staticInt=1;}2.某文件中有类MyClass,代码如下:class MyClass{ public void MyFunc() {…}public static void MyMethod(){…}}现要在同一文件中类MainClass中使用MyClass类中的两个方法,请完成下面代码class MainClass{ static void Main(){//本行前添加调用MyFun方法的代码。