- 18
- 0
- 约3.57千字
- 约 8页
- 2020-04-19 发布于浙江
- 举报
c#继承与多态工资计算
继承与多态
实验目的和要求
1、理解继承在软件工程中的作用。
2、掌握多态的“通用编程”的思想。
3、掌握运算符重载。
实验内容和原理
1、多态在工资系统中的应用。请给出一个根据员工类型完成每周工资单计算的程序,具体要求如下:
定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。
Boss类的工资计算的原则:不计工作时间,每周获得固定工资。
PieceWorker类的工资计算原则:根据生产的产品数量,每周发放工资。
HourlyWorker类的工资计算原则:根据工作时间,每周发放工资。每周工作的时间不超过40小时。
Employee类中定义了一个方法Earnings(),该方法没有实质性的工作;而在每个子类中都提供了恰当的Earnings()方法的重写。
定义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({0}{1}:{2}\n,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 {0}\n{1}:{2}\n, 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;
}
原创力文档

文档评论(0)