收藏 分销(赏)

面向对象程序设计考试样卷.docx

上传人:仙人****88 文档编号:8924931 上传时间:2025-03-08 格式:DOCX 页数:6 大小:209.54KB 下载积分:10 金币
下载 相关 举报
面向对象程序设计考试样卷.docx_第1页
第1页 / 共6页
面向对象程序设计考试样卷.docx_第2页
第2页 / 共6页


点击查看更多>>
资源描述
《面向对象程序设计》考试样卷 该样卷只供考生了解题目类型使用,不作为复习资料和考试依据。 一、 基础知识填空题(每空1分,共10分) 主要考核语言所使用的各种关键字 1. 声明类的关键词是 Class 2. 若要把一个变量声明为私有变量,需要使用的关键词是 Private 二、 根据程序,填写输出结果(根据难易程度确定每个空的分值,共20分) 考查考生对语言的理解,程序设计的逻辑性 1. Sub Main() Dim str As String str=”Hello !” Console.WriteLine(str) End Sub 执行Main方法后,输出的结果为 Hello ! 三、 根据要达成的功能要求或输出结果的要求,将下列程序补充完整(根据难易程度确定每个空的分值,共20分) 考查考生程序设计的基本能力 1. 程序要求在属性CourseName的Set过程中,进行数据校验,校验的规则为字符串长度不超过20个字符。 Set(ByVal value As String) If value.Length<=20 Then insCourseName=value Else insCourseName=value.Substring(0,20) End If End Set 四、 请编写程序,实现题目的要求 系统地考查考生对程序语言的掌握情况、程序设计的能力。该题目力求涵盖面向对象程序设计的所有要点,如类、属性、方法、继承、多态、构造函数、重写、重载、异常处理等。 完成类Employee、SalariedEmployee、CommissionEmployee和BasePlusCommissionEmployee定义。各个类之间的关系如下图所示。部分类或类中的部分属性、方法的定义已经给出,考生只需完成指定的类或方法、属性的定义即可。具体要求如下: 1. 类Employee包含两个属性Name和SocialSecurityNumber,分别代表雇员的姓名和社会保险号,属性的代码已经给出。还包含一个构造函数,CalculateEarnings和ToString方法。要求考生完成: 题目(1)(5分):改写继承自基类的ToString方法,该方法要求返回一个包含雇员姓名和社会保险号的字符串,字符串的格式如下。 姓名:张三 社会保险号:2201028975 题目(2)(3分):声明一个名为CalculateEarnings抽象方法,该方法返回一个Decimal类型的值。 Public MustInherit Class Employee Private NameValue As String Private socialSecurityNumberValue As String ' 构造函数 Public Sub New(ByVal name As String, ByVal last As String, _ ByVal ssn As String) Me.Name = name SocialSecurityNumber = ssn End Sub '属性Name Public Property Name() As String Get Return NameValue End Get Set(ByVal first As String) NameValue = first End Set End Property '属性SocialSecurityNumber Public Property SocialSecurityNumber() As String Get Return socialSecurityNumberValue End Get Set(ByVal ssn As String) socialSecurityNumberValue = ssn End Set End Property '返回一个包含雇员姓名和社会保险号的字符串 Public Overrides Function ToString() As String 题目(1) End Function ' 声明一个CalculateEarnings抽象方法 题目(2) End Class 2. 类SalariedEmployee继承自Employee类,代表拿固定薪水的雇员,薪水以周为周期。除继承的属性外,还包含一个属性WeeklySalary,代表雇员的周薪。要求考生完成: 题目(3)(6分):定义属性WeeklySalary及其对应的实例变量,Decimal型。要求属性在接收值时,进行数据检验,若接收的值小于0,则将属性值设为0. 题目(4)(6分):实现继承过来方法CalculateEarnings,该方法返回SalariedEmployee对象的周薪值。 Public Class SalariedEmployee Inherits Employee '构造函数 Public Sub New(ByVal first As String, ByVal last As String, _ ByVal ssn As String, ByVal salary As Decimal) MyBase.New(first, last, ssn) WeeklySalary = salary End Sub ' 属性 WeeklySalary 题目(3) ' 方法CalculateEarnings 题目(4) '属性ToString,返回包含姓名、社会保险号和周薪等信息的字符串,具体实现略 Public Overrides Function ToString() As String End Class 3. 类CommissionEmployee继承自Employee类,代表按销售提成拿薪水的雇员。除继承的属性外,还包含属性GrossSales、CommissionRate分别代表销售量和提成的比例,GrossSales、CommissionRate的具体实现不用考虑。要求考生完成: 题目(5)(5分):实现继承过来方法CalculateEarnings,该方法返回CommissionEmployee对象的薪水值,薪水的计算方法为销售量×提成比例。 Public Class CommissionEmployee Inherits Employee Private grossSalesValue As Decimal Private commissionRateValue As Double ' 构造函数 Public Sub New(ByVal first As String, ByVal last As String, _ ByVal ssn As String, ByVal sales As Decimal, ByVal rate As Double) MyBase.New(first, last, ssn) GrossSales = sales CommissionRate = rate End Sub ' 属性GrossSales,具体定义略 Public Property GrossSales() As Decimal ' 属性CommissionRate,具体定义略 Public Property CommissionRate() As Double '方法 CalculateEarnings 题目(5) '属性ToString,返回包含姓名、社会保险号和薪水等信息的字符串,具体实现略 Public Overrides Function ToString() As String End Class 4. 类BasePlusCommissionEmployee继承自CommissionEmployee类,代表有基础薪水,同时还按销售提成拿薪水的雇员。除继承的属性外,还包含属性BaseSalary代表基础薪水,具体实现不用考虑。要求考生完成: 题目(6)(5分):实现继承过来方法CalculateEarnings,该方法返回BasePlusCommissionEmployee对象的薪水值,薪水的计算方法为:基础薪水+销售量×提成比例。 Public Class BasePlusCommissionEmployee Inherits CommissionEmployee Private baseSalaryValue As Decimal y ' 构造函数 Public Sub New(ByVal first As String, ByVal last As String, _ ByVal ssn As String, ByVal sales As Decimal, _ ByVal rate As Double, ByVal salary As Decimal) MyBase.New(first, last, ssn, sales, rate) BaseSalary = salary End Sub ' 属性BaseSalary,具体实现略 Public Property BaseSalary() As Decimal ' 方法CalculateEarnings 题目(6) '属性ToString,返回包含姓名、社会保险号和薪水等信息的字符串,具体实现略 Public Overrides Function ToString() As String End Class 5. 编写一个Windows程序,用于测试前面的类。该窗体包含一个按钮(Button1)和一个能容纳多行文本的文本框(TextBox1)。点击标题“显示”的按钮时,要求显示测试用数据。窗体代码的一部分已经给出,考生按要求完成如下内容: 题目(7)(2分):在窗体类中,声明一个名为objE的全局一维数组,类型为Employee型,元素数量待定。 题目(8)(8分):在窗体类的Load事件中,为objE进行初始化,设定数值元素的数量为3,分别为每一个数组元素赋予不同类型对象的值。各元素的值和类型按下表赋值。 数组元素 值(按照构造函数接收的参数的次序) 类型 第一个元素 Tom 12345 8000 SalariedEmployee 第二个元素 Peter 33333 39000 0.05 CommissionEmployee 第三个元素 Jack 44444 459999 0.04 1000 BasePlusCommissionEmployee 题目(9)(10分):在Button1的Click事件中编写代码,实现当用换点击按钮时,显示各个数组元素的内容,数组元素之间使用横线分隔。要求使用循环结构完成。当数组元素为BasePlusCommissionEmployee类型时,还要特别将该元素的基础薪水(BaseSalary)提升50%,并显示提升后的薪水值,如图所示(假设不知道哪一个元素是BasePlusCommissionEmployee类型的内容)。『多态』 Public Class Form1 题目(7) Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 题目(8) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 题目(9) End Sub End Class
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服