- 29
- 0
- 约3.49千字
- 约 5页
- 2017-03-15 发布于四川
- 举报
C#课程测试报告
姓名: 薛守来
学号:
年级: 09级
班级: 11班
提交日期: 2011/9/7
指导老师: 吕帅
题目:派生类的构造函数调用过程测试与分析(4.2.6.派生类的构造函数)基类GenericCustomer包含:私有成员name,带1个参数的构造函数;派生类Nevermore60Customer包含:私有成员referrerName和highCostMinutesUsed,带2个参数的构造函数,带1个参数的构造函数。请为基类GenericCustomer添加一个无符号整型字段Id(公有成员),为派生类Nevermore60Customer添加一个字符串型字段nickName(私有成员),设计并实现几个有调用关系的构造函数(构造函数中必须包含name和Id的初始化,一定没有highCostMinutesUsed的初始化),进行必要的测试,以说明构造函数的调用和执行次序,以及字段的初始化顺序。public class GenericCustomer //基类
{
private string name;
public uint Id;
public GenericCustomer(string name)
{
Console.WriteLine(GenericCustomer Constructor!);
this.name = name;
}
}
public class Nevermore60Customer : GenericCustomer //派生类 {
private string referrerName;
private uint highCostMinutesUsed;
private string nickName;
public Nevermore60Customer(string name, uint Id)
: base(name)
{
Console.WriteLine(Nevermore60Customer Constructors with 2 parameters.);
base.Id = Id;
}
base(name)调用基类构造函数,利用主函数调用派生类构造函数时我们得到结果:
显然,其执行过程是按照先基类后派生类的顺序,这也符合我们的理解,先初始化后操作才是合理的方式。
由此,我们不难继续测试,相应增加一个参数的构造函数,同理可得到3个构造函数的调用顺序,即题目所要求测试出的结果。
至于初始化顺序,不难发现,按照程序执行情况,应该跟构造函数的调用情况是一致的,即加上相应的说明情况即得出结论。
在相应的构造函数中加入如下代码:
基类中:
Console.WriteLine(Name initialized !);
派生类双参数构造函数中:
Console.WriteLine(Id initialized !);
从而我们得出相应的运行结果:
最后就是关于同一类中构造函数的调用方式。可以定义为2参调1参,也可以定义为1参调2参,我们不妨采用后者。直接加上相应的单参构造函数,如下:
public Nevermore60Customer(string name)
: this(name, 0)
{
Console.WriteLine(Nevermore60Customer Constructors with 1 parameter.);
}
得出结果即为我们所期望的,结论就是按照先基类,再派生类中先调用函数,最后是Main方法中调用的构造函数。
算法设计流程:首先定义基类GenericCustomer及单参构造函数,然后派生Nevermore60Customer类,并分别设计1个参数和2个参数的构造函数,初始化时调用基类函数或者本类中函数,同时执行相应初始化工作,并在
您可能关注的文档
最近下载
- plc风力发电控制系统的设计.doc VIP
- 2023年菏泽家政职业学院高职单招(数学/语文/英语)历年试题库含答案解析.docx VIP
- 2026年山东司法警官职业学院单招综合素质笔试备考题库及答案解析.docx VIP
- 计算物理基础.ppt VIP
- 2025年第二学期鄂教版音乐八年级上册《第四单元对比与平衡》大单元整体教学设计.docx
- 2025年4月辽宁省大连市金普新区中考一模语文试题[含答案].pdf VIP
- 国家自然科学基金简历通用版2024.pdf
- 2024年菏泽家政职业学院高职单招(英语/数学/语文)笔试历年真题摘选含答案解析.docx VIP
- 人教版(2024)初中数学七年级上册期末测试卷(较易难度)(含解析).doc.docx VIP
- 电商运营电商内容审核专员岗面试题库参考答案和答题要点.docx VIP
原创力文档

文档评论(0)