c#继承与多态工资计算.doc_第1页
c#继承与多态工资计算.doc_第2页
c#继承与多态工资计算.doc_第3页
c#继承与多态工资计算.doc_第4页
c#继承与多态工资计算.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

继承与多态一、 实验目的和要求1、理解继承在软件工程中的作用。2、掌握多态的“通用编程”的思想。3、掌握运算符重载。二、 实验内容和原理1、多态在工资系统中的应用。请给出一个根据员工类型完成每周工资单计算的程序,具体要求如下:(1) 定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。(2) Boss类的工资计算的原则:不计工作时间,每周获得固定工资。(3) PieceWorker类的工资计算原则:根据生产的产品数量,每周发放工资。(4) HourlyWorker类的工资计算原则:根据工作时间,每周发放工资。每周工作的时间不超过40小时。(5) Employee类中定义了一个方法Earnings(),该方法没有实质性的工作;而在每个子类中都提供了恰当的Earnings()方法的重写。(6) 定义TestEmployee类,在其Main方法中,创建三种类型的员工对象,并计算相应的工资。2、请定义一个矩阵类,实现矩阵的转置、矩阵元素值的取反、矩阵的相减、矩阵的相加、矩阵的相乘、以及将矩阵元素的值乘以n等运算。三、 实验环境Microsoft Visual C# 2008 Express Edition四、 算法描述及实验步骤定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。代码如下: using System;public abstract class Employee public string name; public Employee() public string Name get return name; public abstract decimal Earnings(); public override string ToString() return string.Format(01:2n,Name,salary,Earnings(); public class Boss : Employee private decimal weeklySalary; public decimal WeeklySalary get return weeklySalary; set weeklySalary =(value0) ? value:0; public Boss(string mingzi) name = mingzi; public override decimal Earnings() return WeeklySalary; public override string ToString() return string.Format(boss 0n1:2n, Name, weeklysalary, Earnings(); public class PieceWork : Employee private int quantity; private decimal wageOfPiece; public int Quantity get return quantity; set quantity = (value0)? value:0; public decimal WageOfPiece get return wageOfPiece; set wageOfPiece = (value0)? value:0; public PieceWork(string mingzi) name = mingzi; public override decimal Earnings() return Quantity*WageOfPiece; public override string ToString() return string.Format(piecework 0n1:2n, Name, weeklysalary, Earnings(); public class HourlyWork : Employee private int hours; private decimal wagaOfHour; public int Hours get return hours; set hours = (value 0) ? value : 0; public decimal WageOfHour get return wagaOfHour; set wagaOfHour = (value 0) ? value : 0; public HourlyWork(string mingzi) name = mingzi; public override decimal Earnings() return Hours * WageOfHour; public override string ToString() return string.Format(hourlywork 0n1:2n, Name, weeklysalary, Earnings(); public class TestEmployee static void Main(string args) Boss boss = new Boss(秀秀); boss.WeeklySalary =2000; string a=boss.ToString(); Console.WriteLine(0,a); PieceWork worker1 = new PieceWork(伟峰); worker1.Quantity = 30; worker1.WageOfPiece = 10; string b = worker1.ToString(); Console.WriteLine(0, b); HourlyWork worker2 = new HourlyWork(通后); worker2.Hours = 30; worker2.WageOfHour = 10; string c = worker2.ToString(); Console.WriteLine(0, c); 五、 调试过程1.没有把Employee

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论