c#实验二实验报告3116010036陈志灵

c#实验二实验报告3116010036陈志灵

ID:35200651

大小:240.50 KB

页数:18页

时间:2019-03-21

c#实验二实验报告3116010036陈志灵_第1页
c#实验二实验报告3116010036陈志灵_第2页
c#实验二实验报告3116010036陈志灵_第3页
c#实验二实验报告3116010036陈志灵_第4页
c#实验二实验报告3116010036陈志灵_第5页
资源描述:

《c#实验二实验报告3116010036陈志灵》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、福建农林大学计算机与信息学院实验报告系:计算机与信息学院专业:计算机科学与技术年级:2011姓名:陈志灵学号:3116010036实验室号田C507计算机号108实验时间:2013.11.14指导教师签字:成绩:实验名称:一、实验目的和要求1、理解继承在软件工程中的作用。2、掌握多态的“通用编程”的思想。3、掌握运算符重载。二、实验内容和原理1、多态在工资系统中的应用。请给出一个根据员工类型完成每周工资单计算的程序,具体要求如下:(1)定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。(2)Boss

2、类的工资计算的原则:不计工作时间,每周获得固定工资。(3)PieceWorker类的工资计算原则:根据生产的产品数量,每周发放工资。(4)HourlyWorker类的工资计算原则:根据工作时间,每周发放工资。每周工作的时间不超过40小时。(5)Employee类中定义了一个方法Earnings(),该方法没有实质性的工作;而在每个子类中都提供了恰当的Earnings()方法的重写。(6)定义TestEmployee类,在其Main方法中,创建三种类型的员工对象,并计算相应的工资。2、请定义一个矩阵类,实现矩阵的转置、矩阵元素值的取反、矩阵的相减、矩阵的相加、矩阵的

3、相乘、以及将矩阵元素的值乘以n等运算。参考实验步骤及类图:(1)在Matrix类中,定义私有变量rows、cols和mat。(2)定义两个构造方法:Matrix(intiRow,intCols),Matrix(intiRow,intCols,intdispersion)。其中,参数dispersion指定随机生成的矩阵元素的范围。如参数值dispersion为5,则使得矩阵元素的值在-5~5的范围内。(3)定义属性Rows和Cols。在Set访问器中,提供参数合法性检查的代码。(4)定义索引器this[intiRow,intiCol],实现根据行列号访问矩阵中的元

4、素。(5)重写ToString()方法,以“矩阵”的格式输出矩阵中的所有元素。(6)定义私有方法MatrixStrassenMultiply(MatrixA,MatrixB),实现两个矩阵的相乘。(7)定义私有方法MatrixMultiply(doublen,Matrixm),实现将矩阵元素的值乘以n。(8)定义私有方法MatrixAdd(Matrixm1,Matrixm2),实现两个矩阵的相加。(9)调用上述方法,重载运算符“-”、“+”、“*”,依次实现将矩阵元素的取反、矩阵的相减、矩阵的相加、矩阵的相乘、以及将矩阵元素的值乘以n五类运算。如:publicst

5、aticMatrixoperator-(Matrixm){returnMatrix.Multiply(-1,m);}publicstaticMatrixoperator-(Matrixm1,Matrixm2){returnMatrix.Add(m1,-m2);}(10)定义publicstaticMatrixTranspose(Matrixm)方法,生成转置矩阵。(11)定义Test类,在其Main方法中,完成相关测试。三、实验环境Windows7四、算法描述及实验步骤这个实验主要做类的继承以及运算符的重载,在充分理解继承和运算符重载,在编写代码是没什么困难的。五

6、、调试过程在测试结果的时候,发现总是要输入矩阵的值,经过检查发现原来是每个重载里面都用到构造方法Matrix(intiRows,intiCols),而这个方法里面每次都要输入矩阵,所以重载的方法中的矩阵的初始化都被我改成无参构造,通过赋值初始化其他成员变量。六、实验结果1.2.七、总结这次实验熟悉了类的继承和运算符的重载,更加了解C#编程的一些细节,也学了些快捷键。写代码的时候要注意编译器给出的错误提示,找出错误,然后更改,记住错误发生的原因,争取以后不犯同样的错误。附录:1.Employee.csusingSystem;usingSystem.Collectio

7、ns.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceshiyan2{abstractclassEmployee{privatestringname;publicstringName{set{this.name=value;}get{returnthis.name;}}publicEmployee(){}publicabstractdecimalEarnings();publicabstractstringTostring();}}HourlyWorker

8、.csus

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

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

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