第7章 面向对象的程序设计基础
- 格式:doc
- 大小:105.00 KB
- 文档页数:23
第一章程序设计基础知识一、基础题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。
第七章面向对象的程序设计本章是面向对象的程序设计。
与第五章介绍的面向过程的结构化程序设计不同,主要介绍面向对象程序设计的基础知识,包括面向对象的基本概念以及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属性。
A B C D
A B C D A、共享所有数据成员,每个对象还包含基类的所有B
C、不共享任何数据成员,但每个对象还包含基类的
D A B C D A B C D
B、能够通过成员运算符访问
C、仍然是基类的私有成员
D、变为派生类的私有成员
3、当保护继承时,下面说法正确的是()
A、基类的成员的访问权限在派生类中不变
B、在类作用域外能够通过派生类的对象来直接访问基类的公有成员
C、基类的保护成员和私有成员在派生类中的访问权限为受保护的
D、基类的公有成员在派生类中的访问权限为受保护的
4、当派生类中有和基类一样名字的成员时,下面说法错误的是()。
A、将产生二义性
B、派生类的同名成员将覆盖基类的成员
C、是不能允许的
D、基类的同名成员将覆盖派生类的成员
5、含有虚基类的派生类的构造函数调用次序错误的是()
A、虚基类,基类,派生类,对象成员
B、基类,派生类,对象成员,虚基类
C、对象成员,基类,虚基类,派生类
D、基类,虚基类,对象成员,派生类
第三题、判断题(每题1分,5道题共5分)
1、基类的保护成员在派生类中仍然是保护成员。
正确错误
2、基类的保护成员不能被派生类的对象访问。
正确错误
3、私有继承时基类中的public成员在派生类中是private的。
正确错误
4、在公有继承中,基类中只有公有成员对派生类是可见的。
正确错误
5、解决多继承情况下出现的二义性的方法之一是使用成员名限定法。
正确错。
《面向对象程序设计》课程标准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%,主要考查指标有:平时上课出勤情况、课堂表现、作业完成情况、实训环节等。
第7章面向对象的程序设计基础一、单项选择题1.Visual FoxPro 6.0不但支持传统的面向过程的编程方法,而且全面引入了_______的程序设计方法,将FoxPro系列提升到真正的关系数据库世界。
(§7.1 理解)A)结构化 B) 非过程化C)面向数据库 D)面向对象2.从可视化编程的角度看,对象是一个具有属性和方法的实体。
一旦对象建立以后,其操作就通过与对象有关的_______来描述。
(§7.1 理解)A)属性、事件和方法 B)实体、类C)封装性、继承性 D)数据3._______也是一种对象,他将一些特殊的对象进行更严格的封装,定制成用以显示数据、执行操作的一种图形对象。
(§7.1 理解)A)类 B)父类C)子类 D)控件4.下列_______组是类。
(§7.1 理解)A)篮球、饭桌、人、房子 B)篮球、饭桌、工人、厨房C)文本框、命令按钮 D)球、桌子、人、房子5.下列关于面向对象程序设计(OOP)的说法,错误的是_______。
(§7.1 理解)A)OOP以编写程序代码为中心工作B)OOP以“对象”表示各种事物,以“类”表示对象的抽象C)OOP以“方法”表现处理事物的过程D)OOP以对象及其数据结构为中心展开工作6.任何对象都有自己的属性,下列关于属性的叙述中,正确的是_______。
(§7.1 理解)A) 属性用于描述对象所具有的性质和特点,通常用各种类型的数据来表示B)属性用于描述对象所具有的内部特征,通常用各种类型的数据来表示C)属性用于描述对象所具有的外部特征,通常用各种类型的数据来表示D)属性用于描述对象所具有的固有方法,通常用各种程序代码来表示7.下列关于事件的说法中,错误的是_______。
(§7.1 理解)A)事件代码也可以像方法一样被显式调用B)事件是对象触发的行为描述,是一种预先定义好的特定动作C)事件可以持续完成。
D)事件由用户或者系统激活8.下列关于方法的说法中,错误的是_______。
(§7.1 理解)A)方法是与对象相关的过程B)方法是指对象为完成一定功能而编写的一段程序代码C)方法与事件有着紧密联系,一个时间必定有一个与之相对应的方法D)方法与事件相同,用户不可以扩充方法。
9.下列关于创建新类的叙述中,错误的是_______。
(§7.2 应用)A)从“项目管理器”里选择“类”| “新建”B)从系统菜单上选择“文件”|“新建”|“类”|“新建文件”C)可以在命令窗口输入ADD CLASS命令,进入“类设计器”D)在命令窗口里执行CREATE CLASS命令10. 下列关于“继承性”的说法,错误的是_______。
(§7.1 理解)A)继承性用来描述对象之间的共同属性B)继承性用来描述类之间的共同属性C)继承性可以避免方法和数据的重复D)继承性体现了一般化和特殊化的原则11.下列关于“封装性”的说法中,错误的是_______。
(§7.1 理解)A)封装性就是把对象的内部代码与操作过程隐藏起来B)封装是借助类来实现的C)封装是借助对象来实现的D)封装要求所有对象具备明确的功能,并有接口和其他对象相互作用12.用DEFINE CLASS 命令定义了一个名为“7_1”的FORM类时,若要为该类添加一个label1标签对象,应当使用的基本代码是_______。
(§7.1 应用)A)AddObject(“label1”,”” label”)B)MyForm.AddObject(“label1”,”” label”)C)Add Object label1 AS labelD)Add Object 7_bel1 AS label13. 下列关于将“类”添加到表单中的方法的说法,错误的是_______。
(§7.2 应用)A)将“类”从“类设计器”拖至“项目管理器”中B)将“类”从“项目管理器”拖至“类设计器”中C)将“类”从“项目管理器”拖至“表单设计器”中D)将“类”注册14.下列关于对象的引用说法错误的是_______。
(§7.3 理解)A)绝对引用是为了快速引用对象而采用的一种引用方式B)相对引用是为了快速引用对象而采用的一种引用方式C)引用是指在引用对象时,把对象的容器层次全部列出来D)对象的引用有绝对引用和相对引用15.下列关于类的说法错误的是_______。
(§7.3 理解)A)类不能被直接调用B)由类创建的对象可以被直接调用C)同一个类可以创建多个对象D)类可以被直接调用16.如果要提供对当前对象的引用,可以用_______关键字来设置对象的属性。
(§7.3应用)A)THIS B)THISFORM C) THISFORMSET D)PARENT17.下列关于设置单个对象属性的语法正确的是_______。
(§7.3 应用)A)Object.Property=Value B)Parent.Property=ValueC)Property=Value D)Parent.Object.Property=Value18.下列关于调用对象的方法的说法,错误的是_______。
(§7.3 理解)A)对象的方法没有返回值B)调用对象的方法时,如果该方法有返回值,被调用方法必须以圆括弧结尾C) 如果在调用方法时有参数传递,则必须把传递参数放在方法名后面的圆括弧内D) 在创建了一个对象后,可以在程序的任何部分调用方法19.在表单中加入两个命令按钮Command1和Command2,编写Command1的Click事件代码如下,则当单击Command1后,_____。
(§7.3 理解)mand2.Visible=.F.A)命令按钮组中的第二个命令按钮不可见B)Command1命令按钮不可见C)事件代码无法执行D)Command2命令按钮不可见20.在Visual FoxPro 6.0控件中,编辑框的默认名称为_______。
(§7.3 识记)A) List B) Edit1 C) Label D) Text21.在表单中编写Command1命令按钮的Click事件的过程代码,下列_______可以在单击命令按钮时退出表单。
(§7.3 应用)A)clear thisformB)thisform.hideC)thisform.unlodeD)thisform.release22.若某表单中有一个文本框Text1和一个命令按钮组CommandGroup1,其中,命令按钮组包含了Command1和Command2两个命令按钮。
如果要在命令按钮Command1的某个方法中访问文本框Text1的Text 属性值,下列式子中错误的是_____。
(§7.3 应用)A) ThisForm.Text1. Text B) This.Parent.Text1. TextC) Parent.Text1. Text D) This. Parent.Parent.Text1. Text23.调用对象方法的格式正确的是_____。
(§7.3 识记)A) Object.Method B) Method ObjectC) Parent.Object.Method D)Parent.Method二、多项选择题1.在表单Form1的事件或方法代码中设置该表单中命令按钮Command1的Caption属性为“确定”的正确命令是_______。
(§7.2 理解)A)mand1.Caption=”确定”B)mand1.Caption=”确定”C)mand1.Caption=”确定”D)mand1.Caption=“确定”2.在面向对象程序设计中,描述对象的三个要素包括________。
(§7.1 应用)A)属性 B)事件 C)开放性 D)方法3.面向对象程序设计的三个基本特征是_______。
(§7.1 应用)A)响应B)继承性 C)封装性 D)多态性4.在Visual FoxPro 6.0中,常用的表单事件有_______。
(§7.2 识记)A)INIT B)LOAD C)DESTROY D)CLEAR5. 在Visual FoxPro6.0中,下列名词属于表单控件的是_______。
(§7.2 识记)A)Load B) Text C)Label D)Click6. 在Visual FoxPro 6.0 中,下列名词属于对象触发事件的是_______。
(§7.2 识记)A)Unload B) DblClick C)Refresh D)Gotfocus7. 在Visual FoxPro 6.0的OOP概念中,下列说法正确的有_______。
(§7.1 理解)A)类是定义对象的特征和描述对象的外观与行为的模板B)对象是一个具有属性和方法的实体C)事件是对象触发的行为描述D)方法是指对象为完成一定功能而编写的一段程序代码8.下列有关面向对象程序设计的基本特征叙述正确的是_______。
(§7.1 理解)A)继承性用来描述基类和派生类之间的共同属性B)封装性是把对象的内部代码与操作过程隐藏起来C)多态性就是方法和名称完全相同D)用户的动作能够激发事件,但响应事件必须通过对应的方法来实现9.下面关于方法的正确说法是_______。
(§7.1 理解)A)方法是某一对象相关联的过程B)方法是指对象为完成一定功能而编写的一段程序代码C)方法程序创建完成后以.PRG文件保存D)一个事件必定有一个与之相对应的方法10.下列关于控件类的各种叙述中,正确的是_______。
(§7.1 理解)A)控件也是一种对象B)控件类是将特殊的对象进行更严格的封装C)控件是定制成用以显示数据、执行操作的一种图形对象D)控件类对象与容器类对象是相对而言的三、填空题1.一个对象建立以后,其操作就通过与对象有关的属性、_____和_____来描述。
(§7.1 识记) 2.面向对象程序设计的3个基本特征是继承性、_____和_____。
(§7.1 识记)3.Visual FoxPro 6.0中的基类有两大类型,分别是:_____和____;相应地,对象也分为_____和____。
(§7.1 识记)4._____不能被直接调用,由类创建的_____才可以被直接调用。
(§7.1 识记)5.引用对象的两种方式是_____和____。
(§7.1 识记)6._____对象引用提供对当前对象的引用,_____对象引用提供对当前表单的引用,_____对象引用提供了一种引用当前表单集的快捷引用,_____对象引用提供了一种引用当前对象的父对象的引用。