面向对象程序设计VB.docx
《面向对象程序设计VB.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计VB.docx(33页珍藏版)》请在冰豆网上搜索。
![面向对象程序设计VB.docx](https://file1.bdocx.com/fileroot1/2023-6/6/702a0c19-010b-47c4-8faf-21cd98a3b571/702a0c19-010b-47c4-8faf-21cd98a3b5711.gif)
面向对象程序设计VB
江西财经大学考试试卷
试卷代码:
03694A卷授课课时:
80
课程名称:
面向对象程序设计(VB)适用对象:
选课班
一、填空题(每空1分,共16分)
1.构造函数和析构函数的意义分别是和。
2.命令窗口用于在集成开发环境中发出命令或调试和计算表示式,它有
和两种模式。
3.ReDim语句重定义数组大小时,缺省情况下原数组中的存储的数据会丢失,
但能够使用关键字来保证原数组中的数据能保留下来。
4.CLR的中文含义是。
5.为了方便用户操作,VS.NET系统在FileDialog的基础上,系统已派生了
和文件对话框类。
6.过程为应用程序的启动点,也就是运行代码时最优先访问的函数。
7.语句允许用户直接使用在其它命名空间中定义的类及类型,而无
需使用限定引用。
8.窗体是继承.NET类库中的类。
9.类提供访问文件的方法,包括标准输入、输出和错误设备。
10.要进行二进制文件存取,必须创立与对象。
11.在任何图形绘制之前,一定要先用类创立一个对象。
12.对象是DataSet对象和数据源之间的桥梁。
二、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代
号写在答题纸相应位置处。
答案错选或未选者,该题不得分。
每小题2分,
共16分。
)
1.以下关于静态成员正确的说法是
A.静态成员能够不用Static修饰符修饰
B.静态成员只能用类名访问
C.静态成员和非静态成员不能同时在类中定义
D.静态成员能够被类的实例调用
2.VB.NET的项目文件是以扩展名来保存。
A..sin
B..vb
C..vbproj
D..sou
3.在类视图窗口以结构显示当前项目中的所有类。
A.树状结构
B.下拉列表
C.菜单
D.表
4.以下不是数据提供程序所提供的四个核心对象。
A.Connection
B.DataReader
C.Parser
D.DataAdapter
5.有关继承下列说法不正确的是
A.所有类缺省都是可继承的,除非在类定义时使用Notlnheritable关键字修饰。
B.在VB.NET中,一个类的基类可能有多个。
C.为了防止基类中需要封装保密的成员在派生类中被泄露出来,派生类定义的访问权限必须比其基类更为严格或者至少与之相同。
D.在VisaulBasic.NET中,一个类的基类只能有一个。
6.在VB.NET中,关于构造函数的说法,下列说法不正确的是
A.
能够指定构造函数的返回值
B.
构造函数能够重载
C.
构造函数的过程能够带有参数
D.
构造函数的过程名一定是New
7.菜单控件支持事件。
A.
Click
B.
MouseDown
C.
KeyPress
D.
Leave
8.Err
对象的属性返回了错误号
A.
Number
B.
Source
C.Description
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
D.HlepContext
三、阅读程序,根据要求回答问题。
(每小题每5分,共20分)
1.指出以下文件操作程序代码的功能,并画出Windows窗体的界面图。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
OpenFileDialog1.Filter="文本文件(*.txt)|*.txt|RTF格式文
件(*RTF)|*RTF"
OpenFileDialog1.FilterIndex=1
OpenFileDialog1.Title="打开文件"
OpenFileDialog1.InitialDirectory=Application.StartupPath
OpenFileDialog1.RestoreDirectory=True
OpenFileDialog1.ShowDialog()
Fname=OpenFileDialog1.FileName
If(Fname<>"")Then
If(OpenFileDialog1.FilterIndex=1)Then
RichTextBox1.LoadFile(Fname,
RichTextBoxStreamType.PlainText)
Else
RichTextBox1.LoadFile(Fname,
RichTextBoxStreamType.RichText)
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
StatusBar1.Panels(0).Text=”读状态”
StatusBar1.Panels
(1).Text=”未保存”
EndIf
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton3.Click
格式文
SaveFileDialog1.Filter="文本文件(*.txt)|*.txt|RTF件(*RTF)|*RTF"
SaveFileDialog1.FilterIndex=1
SaveFileDialog1.Title="保存文件"
SaveFileDialog1.InitialDirectory=Application.StartupPath
SaveFileDialog1.RestoreDirectory=True
SaveFileDialog1.ShowDialog()
Fname=SaveFileDialog1.FileName
If(Fname<>"")Then
If(OpenFileDialog1.FilterIndex=1)Then
RichTextBox1.SaveFile(Fname,
RichTextBoxStreamType.PlainText)
Else
RichTextBox1.SaveFile(Fname,
RichTextBoxStreamType.RichText)
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
StatusBar1.Panels(0).Text="写状态"
StatusBar1.Panels
(1).Text="已保存"
EndIf
EndSub
PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesTimer1.Tick
StatusBar1.Panels
(2).Text=DateTime.Now.ToString("T")
EndSub
PrivateSubRichTextBox1_TextChanged(ByValsenderAsSystem.Object,
ByValeAsSystem.EventArgs)HandlesRichTextBox1.TextChanged
RichTextBox1.Modified=false
IfRichTextBox1.ModifiedThen
StatusBar1.Panels
(1).Text="未保存"
Else
StatusBar1.Panels
(1).Text=”已保存”
RichTextBox1.Modified=false
EndIf
EndSub
2.指出下列程序的运行结果,并说明该程序的功能。
ModuleModule1
WithEventsfrm1AsNewForm()
Dimlabel1AsNewLabel()
SubMain()
label1.Size=NewSize(80,20)
label1.BackColor=Color.Yellow
label1.TextAlign=ContentAlignment.MiddleCenter
label1.BorderStyle=BorderStyle.Fixed3Dfrm1.Controls.AddRange(NewSystem.Windows.Forms.Control()
{label1})
Application.Run(frm1)
EndSub
PublicSubfrm1_MouseMove(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.MouseEventArgs)Handlesfrm1.MouseMovelabel1.Location=NewPoint(e.X,e.Y-15)label1.Text="X="&e.X&",Y="&e.Y
EndSub
EndModule
3.分析下列程序的运行结果,说明该程序的功能。
PublicClasslogin
InheritsSystem.Windows.Forms.Form#Region"Windows窗体设计器生成的Code"
‘系统自动创立的程序,为了节省篇幅,在此处省略。
#EndRegion
DimmymdimainAsMainMDI
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
PrivateSubbtnOk_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesbtnOk.Click
IftxtUserName.Text.Trim=""Then
showMsg("用户名不许为空!
")
txtUserName.Focus()
ExitSub
EndIf
IftxtPassWord.Text.Trim=""Then
showMsg("密码不许为空!
")
txtPassWord.Focus()
ExitSub
EndIf
DimiAsInteger
DimstrsqlAsString
DimmydatasetAsNewDataSet
DimmyTableAsDataTable
DimunameAsString
DimpswAsString
uname=Trim(txtUserName.Text)
psw=Trim(txtPassWord.Text)
Try
strsql="SELECT*FROMOperatorWHEREName='"+uname
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
+"'andPassword='"+psw+"'"
mydataset=executeSelectQuery(strsql,"manager")
strsql="SELECT*FROMAuthorityWHEREName='"&uname
&"'"
myTable=executeSelectQuerygettable(strsql)
IfmydatasetIsNothingThen
showMsg("用户名或密码错误!
",
MsgBoxStyle.Exclamation)
Return
EndIf
IfmyTableIsNothingThen
showMsg("此用户无任何权限!
",
MsgBoxStyle.Exclamation)
Return
EndIf
CatchexAsException
ExitSub
EndTry
Ifmydataset.Tables("manager").Rows.Count=0ThenshowMsg("用户名或密码错误!
",MsgBoxStyle.Exclamation)
Else
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
GlobalVariable.PERMISSION=NewArrayList
Fori=0TomyTable.Rows.Count-1GlobalVariable.PERMISSION.Add(myTable.Rows(i).Item("Permission")&"")
Next
Me.Close()
EndIf
EndSub
PrivateSublogin_Closing(ByValsenderAsObject,ByValeAsSystem.ComponentModel.CancelEventArgs)HandlesMyBase.Closingmymdimain.setpower()
EndSub
PrivateSublogin_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
PERMISSION=NewArrayList
mymdimain.setpower()
EndSub
PrivateSubbtnExit_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnExit.Click
Me.Close()
EndSub
EndClass
其中:
setpower()为权限设置方法,在此省略了。
4.指出下列程序的运行结果,并说明该程序中使用了面向对象技术中的一个什么概念,它实现了一个什么功能。
PublicClassShape
PublicOverridableFunctionGetArea()AsDouble
Return(0)
EndFunction
PublicOverridableFunctionGetPerim()AsDouble
Return(0)
EndFunction
EndClass
ClassRectangle
InheritsShape
PublicWidthAsDouble
PublicLengthAsDouble
PublicSubNew(ByValaAsDouble,ByValbAsDouble)
Width=a:
Length=b
EndSub
PublicOverridesFunctionGetArea()AsDouble
Return(Width*Length)
EndFunction
PublicOverridesFunctionGetPerim()AsDouble
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
Return(2*(Length+Width))
EndFunction
EndClass
ClassCircle
InheritsShape
PublicRadiusAsDouble
PublicSubNew(ByValrAsDouble)
Radius=r
EndSub
PublicOverridesFunctionGetArea()AsDouble
Return(Math.PI*Radius*Radius)
EndFunction
PublicOverridesFunctionGetPerim()AsDouble
Return(2*Math.PI*Radius)
EndFunction
EndClass
PublicClassForm1
InheritsSystem.Windows.Forms.Form
#Region"WindowsFormDesignergeneratedcode"‘系统自动创立的程序,为了节省篇幅,在此处省略。
#EndRegion
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAs
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
System.EventArgs)HandlesButton1.Click
Dima,bAsDouble
a=Val(TextBox1.Text)
b=Val(TextBox2.Text)
DimRectAsNewRectangle(a,b)
TextBox3.Text=CStr(Rect.GetPerim())
TextBox4.Text=CStr(Rect.GetArea())
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByVale
AsSystem.EventArgs)HandlesButton2.Click
DimrAsDouble
r=Val(TextBox5.Text)
DimCirAsNewCircle(r)
TextBox6.Text=CStr(Cir.GetPerim())
TextBox7.Text=CStr(Cir.GetArea())
EndSub
EndClass
四、问答题(第1小题8分,第2小题10分,共20分)
1.简述.NET的特点。
2.举例说明面向对象语言支持三种特性的应用。
五、程序设计题(第1小题8分,第2、3小题各10分,共28分)
1.编写一个关于自己的结构和类的程序。
2.编写一个我最喜爱的国产轿车评选程序。
程序设计界面图5-1,程序运行
3.
界面如图5-2所示。
程序运行时,在ListBoxI列表框中显示所有参评轿车列表,单击按钮【>】用户能够从中选择一量轿车,对于选完后不满意的轿车:
还能够经过单击按钮【<】,移回到ListBoxI列表框中,还可选中ListBoxI列表中所有轿车(经过单击按钮【>>】实现)或将ListBox2框中所全的项目全部移回至ListBoxI框中(经过单击按钮【<<】实现)。
4.请按照以下(关于信息学院部分专业学生必修学习课程的情况)图形的
分析,制定每一个类所需要的数据成员与成员函数,编写一个完整的程序,
实现在控制台方式下,按给出的学生实例值(例如:
①王行江,0138,
1985.10.25,计算机,打球;②钟明华,0206,1986216,信管,跳舞)显示信管专业与计算机专业学生相关类的成员值。
江西财经大学末考试试卷
试卷代码:
03694B卷授课课时:
80
课程名称:
面向对象程序设计(VB)适用对象:
选课班
二、填空题(每空1分,共16分)
1.面向对象技术的主要特性表现在具有抽象化、、
和。
2.接口是对类的可用、和等做一个规范描述,而且
能够用它作为一种类型来使用,可是它并不真正实现代码,仅仅是一个描
述。
3.VisualBasic.NET默认的析构函数是。
4.在VB.NET中,你能够经过类来操作文件夹和驱动器。
5.在VB.NET中,编译时的多态性是经过实现,运行时的多态性是经
过继承和来实现的。
6.说明以下在类所声明变量的差异。
SharediAsInteger
ProtectedxAsSingle
PublicyAsSingle
7.要在已知的项目中添加类或Windows窗体,能够经过选取菜单中的
来实现。
8.要连接SQLServer7.0以上版本的数据库时,需要使用对象。
9.在System.Drawing命名空间中,类是绘制图形的最核心的类。
六、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代
号写在答题纸相应位置处。
答案错选或未选者,该题不得分。
每小题2分,
共16分。
)
1.在使用MsgBox函数时,一定要给的参数是。
A.title
B.prompt
C.button
D.以上皆非
2.当参数指定为传址调用时,调用者能够利用下面的符号括住参数,强迫该参数的传递变成传值调用。
A、<>
B.()
c.[]
3.类中利用Dim所声明的变量为
A.Private
B.Public
C.Protected
D.Shared
4.要让继承的类也能使用的变量,必须以关键字声明。
A.Private
B.Dim
C.Protected
D.Used
5.当类中的函数以MustOverride声明时,类必须以关键字声明
A.NoInheritable
B.Overridable
C.MustInherit
D.Overrides
6.模块文件存储时,它的扩展名是。
A..mdl
B..mod
C..vb
D..abs
7.在StreamReader类中共定义了四种读取方式,其中从当前流中读取一行
字符并将数据作为字符串返回的是
A.Read
B.ReadLine
C.ReadBlock
D.ReadtoEnd
8.以下的级别能够使用Static语句
A.过程级
B.模块级
C.类级
D.命名空间
七、阅读程序,根据要求回答问题。
(每小题每5分,共20分)
1.分析下列程序的运行结果,说明该程序的功能,并画出Windows窗体界面。
ImportsSystem.Windows.Forms
ImportsSystem.Drawing
ModuleModule1
Dimfrm1AsNewForm()
DimMdifrm1AsNewForm()
DimMdifrm2AsNewForm()
WithEventsbtn1AsNewButton
SubMain()
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
frm1.IsMdiContainer=Truebtn1.Size=NewSize(0,40)btn1.Text="子窗体水平排列"btn1.Dock=DockStyle.Topfrm1.Controls.AddRange(NewSystem.Windows.Forms.Control(){btn1})
Mdifrm1.MdiParent=frm1
Mdifrm2.Text="MDI子窗体