欢迎来到天天文库
浏览记录
ID:57207300
大小:61.50 KB
页数:7页
时间:2020-08-06
《c#继承与多态工资计算.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、继承与多态一、实验目的和要求1、理解继承在软件工程中的作用。2、掌握多态的“通用编程”的思想。3、掌握运算符重载。二、实验内容和原理1、多态在工资系统中的应用。请给出一个根据员工类型完成每周工资单计算的程序,具体要求如下:(1)定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。(2)Boss类的工资计算的原则:不计工作时间,每周获得固定工资。(3)PieceWorker类的工资计算原则:根据生产的产品数量,每周发放工资。(4)Hour
2、lyWorker类的工资计算原则:根据工作时间,每周发放工资。每周工作的时间不超过40小时。(5)Employee类中定义了一个方法Earnings(),该方法没有实质性的工作;而在每个子类中都提供了恰当的Earnings()方法的重写。(6)定义TestEmployee类,在其Main方法中,创建三种类型的员工对象,并计算相应的工资。2、请定义一个矩阵类,实现矩阵的转置、矩阵元素值的取反、矩阵的相减、矩阵的相加、矩阵的相乘、以及将矩阵元素的值乘以n等运算。一、实验环境MicrosoftVisual
3、C#2008ExpressEdition二、算法描述及实验步骤定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。代码如下:usingSystem;publicabstractclassEmployee{publicstringname;publicEmployee(){}publicstringName{get{returnname;}}publicabstractdecimalEarnings();publicoverridestr
4、ingToString(){returnstring.Format("{0}{1}:{2}",Name,"salary",Earnings());}}publicclassBoss:Employee{privatedecimalweeklySalary;publicdecimalWeeklySalary{get{returnweeklySalary;}set{weeklySalary=(value>0)?value:0;}}publicBoss(stringmingzi){name=mingzi
5、;}publicoverridedecimalEarnings(){returnWeeklySalary;}publicoverridestringToString(){returnstring.Format("boss{0}{1}:{2}",Name,"weeklysalary",Earnings());}}publicclassPieceWork:Employee{privateintquantity;privatedecimalwageOfPiece;publicintQuantity
6、{get{returnquantity;}set{quantity=(value>0)?value:0;}}publicdecimalWageOfPiece{get{returnwageOfPiece;}set{wageOfPiece=(value>0)?value:0;}}publicPieceWork(stringmingzi){name=mingzi;}publicoverridedecimalEarnings(){returnQuantity*WageOfPiece;}publicoverr
7、idestringToString(){returnstring.Format("piecework{0}{1}:{2}",Name,"weeklysalary",Earnings());}}publicclassHourlyWork:Employee{privateinthours;privatedecimalwagaOfHour;publicintHours{get{returnhours;}set{hours=(value>0)?value:0;}}publicdecimalWageO
8、fHour{get{returnwagaOfHour;}set{wagaOfHour=(value>0)?value:0;}}publicHourlyWork(stringmingzi){name=mingzi;}publicoverridedecimalEarnings(){returnHours*WageOfHour;}publicoverridestringToString(){returnstring.Format("hourlywork{0}{1}:{2
此文档下载收益归作者所有