04.类和对象编程练习

04.类和对象编程练习

ID:5835143

大小:75.50 KB

页数:12页

时间:2017-12-25

04.类和对象编程练习_第1页
04.类和对象编程练习_第2页
04.类和对象编程练习_第3页
04.类和对象编程练习_第4页
04.类和对象编程练习_第5页
资源描述:

《04.类和对象编程练习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#面向对象程序设计实验指导及报告书姓名:______________学号:______________班级:______________指导教师:______________计算机与电子信息工程系2013实验四类和对象编程练习一、实验目的1.掌握C#中类的定义、对象的创建方法;1.理解封装性及其意义;2.掌握构造函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。3.能够根据给定的要求定义类并实现类的成员函数;4.理解类的成员的访问控制的含义,公有、私有和保护成员的区别二、实验内容1.定义一个学生类,其中有学号、

2、姓名、年龄3个数据成员,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。要求:使用构造函数实现对数据的输入,使用成员函数实现对数据的输出。调试下列的参考代码。classStudent{privatestringid;privatestringname;privateintage;publicStudent(stringid,stringname,intage){this.id=id;this.name=name;this.age=age;}publicvoidDisplay(){Console.WriteLi

3、ne("id={0},name={1},age={2}",id,name,age);}publicstaticvoidMain(){Students1=newStudent("001","zhangshan",16);s1.Display();Console.ReadKey();}}以上程序使用了构造方法,请回答(1)构造方法何时被调用?(2)关键字this有何作用?(3)在实例化了s1对象后,如要将s1对象的id改为"002",程序将如何修改。1.实现交通工具Vehicle类版本一:(1)没有数据隐藏的类创建一个Vehicle类实

4、现上面的UML类图。a)含有两个public属性:load—“车辆当前的载货量”maxLoad—“车辆的最大载货量”。b)含有一个公有的构造函数用于初始化最大载货量属性maxLoad。c)含有两个公有的函数:publicllldoublegetLoad();//用于得到当前的载货量publicdoublegetMaxLoad()//用于取得最大载货量(注意:所有的数据都是假定以千克(kilograms)作为单位的。在这个版本的Vehicle类中,你将把所有成员的属性设置为public,这样在下面测试程序TestVehicle1中可以

5、直接访问这些成员。(2)编写下面的程序对Vehicle类进行测试,代码如下:publicclassTestVehicle1{publicstaticvoidMain(String[]args){Vehiclevehicle=newVehicle(10000.0);Console.WriteLine("Addbox#1(500kg)");vehicle.load=vehicle.load+500.0;Console.WriteLine("Addbox#2(250kg)");vehicle.load=vehicle.load+250.0

6、;Console.WriteLine("Addbox#3(5000kg)");vehicle.load=vehicle.load+5000.0;Console.WriteLine("Addbox#4(4000kg)");vehicle.load=vehicle.load+4000.0;Console.WriteLine("Addbox#5(300kg)");vehicle.load=vehicle.load+300.0;Console.WriteLine("Vehicleloadis"+vehicle.getLoad()+"kg

7、");}}应该得到以下的结果:Addbox#1(500kg)Addbox#2(250kg)Addbox#3(5000kg)Addbox#4(4000kg)Addbox#5(300kg)Vehicleloadis10050.0kg从程序的运行结果来看,你发现了什么问题?思考如何才能避免?版本二:(1)基本数据隐藏为了解决第一个版本中的问题,你应该隐藏类中的数据成员(load和maxLoad)并且提供一个方法addBox,来检查车辆是否会发生超载。创建一个Vehicle类实现上面的UML类图。A)把load和maxLoad属性修改为pr

8、ivate(私有的)。B)添加addBox方法。publicbooleanaddBox(doubleweight);//参数为所加箱子重量这个方法必须检查加上一个箱子后是否会超过车辆的最大载货量。如果超过了,应该拒绝装载这个箱子并返回

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。