-
大小: 53KB文件类型: .zip金币: 2下载: 1 次发布日期: 2021-06-02
- 语言: C#
- 标签: Employee Manager Technician
资源简介
某公司雇员(Employee)包括经理(Manager),技术人员(Technician)和销售员(Salesman)。开发部经理(DeveloperManger),既是经理也是技术人员。销售部经理(SalesManager),既是经理也是销售员。
以Employee类为虚基类派生出Manager,Technician和Salesman类;再进一步派生出Developermanager和Salesmanager类。
Employee类的属性包括姓名、职工号、工资级别,月薪(实发基本工资加业绩工资)。操作包括月薪计算函数(pay()),该函数要求输入请假天数,扣去应扣工资后,得出实发基本工资。
Technician类派生的属性有每小时附加酬金和当月工作时数,及研究完成进度系数。业绩工资为三者之积。也包括同名的pay()函数,工资总额为基本工资加业绩工资。
Salesman类派生的属性有当月销售额和酬金提取百分比,业绩工资为两者之积。也包括同名的pay()函数,工资总额为基本工资加业绩工资。
Manager类派生属性有固定奖金额和业绩系数,业绩工资为两者之积。工资总额也为基本工资加业绩工资。
而DeveloperManager类,pay()函数是将作为经理和作为技术人员业绩工资之和的一半作为业绩工资。
SalesManager类,pay()函数则是经理的固定奖金额的一半,加上部门总销售额与提成比例之积,这是业绩工资。
编程实现工资管理。特别注意pay()的定义和调用方法:先用同名覆盖,再用运行时多态。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace class6_4
{
class DeveloperManager : Technician InterfaceManager
{
public DeveloperManager(string name string no) : base(name no 62500)
{
Salarylevel = “开发部经理“;
ExtendManager.FixedAwardAmount = 3000;
ExtendManager.AchieveFactor = 1;
Additionreward = 15;
Workhour = 240;
Workcompleted = 1;
}
public override void Pay(int leavedays)
{
base.Pay(leavedays);
Achievesalary = (ExtendManager.FixedAwardAmount * ExtendManager.AchieveFactor + Additionreward * Workhour * Workcompleted)/2;
Salary = Factbasicsalary + Achievesalary;
}
new public void Pay(int leavedays double fixedAwardAmount double achieveFactor double additionreWard double workHour double workCompleted)
{
base.Pay(leavedays);
Achievesalary = (fixedAwardAmount * achieveFactor + additionreWard * workHour * workCompleted) / 2;
Salary = Factbasicsalary + Achievesalary;
}
public override void emplopeeShow()//员工信息输出
{
Console.WriteLine(“{0-6}{1-12}{2-8}{3-12}{4-12}{5-8}{6-7}“ Ename Eno Salarylevel Basicsalary Factbasicsalary Achievesalary Salary);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-18 19:41 class6_4\
目录 0 2018-04-18 19:41 class6_4\.vs\
目录 0 2018-04-18 19:41 class6_4\.vs\class6_4\
目录 0 2018-04-18 19:42 class6_4\.vs\class6_4\v14\
文件 43520 2018-04-19 17:13 class6_4\.vs\class6_4\v14\.suo
目录 0 2018-04-19 16:31 class6_4\class6_4\
文件 991 2018-04-18 19:42 class6_4\class6_4.sln
文件 187 2018-04-18 19:41 class6_4\class6_4\App.config
目录 0 2018-04-18 23:19 class6_4\class6_4\bin\
目录 0 2018-04-19 10:05 class6_4\class6_4\bin\Debug\
文件 10752 2018-04-19 16:31 class6_4\class6_4\bin\Debug\class6_4.exe
文件 187 2018-04-18 19:41 class6_4\class6_4\bin\Debug\class6_4.exe.config
文件 36352 2018-04-19 16:31 class6_4\class6_4\bin\Debug\class6_4.pdb
文件 22696 2018-04-19 12:49 class6_4\class6_4\bin\Debug\class6_4.vshost.exe
文件 187 2018-04-18 19:41 class6_4\class6_4\bin\Debug\class6_4.vshost.exe.config
目录 0 2018-04-18 23:19 class6_4\class6_4\bin\Release\
文件 2968 2018-04-19 12:22 class6_4\class6_4\class6_4.csproj
文件 1497 2018-04-19 16:25 class6_4\class6_4\DeveloperManager.cs
文件 2581 2018-04-19 15:11 class6_4\class6_4\Employee.cs
文件 885 2018-04-19 10:53 class6_4\class6_4\InterfaceManager.cs
文件 1211 2018-04-19 16:14 class6_4\class6_4\Manager.cs
目录 0 2018-04-18 19:41 class6_4\class6_4\obj\
目录 0 2018-04-18 22:10 class6_4\class6_4\obj\Debug\
文件 496 2018-04-19 12:49 class6_4\class6_4\obj\Debug\class6_4.csproj.FileListAbsolute.txt
文件 1904 2018-04-18 22:06 class6_4\class6_4\obj\Debug\class6_4.csprojResolveAssemblyReference.cache
文件 10752 2018-04-19 16:31 class6_4\class6_4\obj\Debug\class6_4.exe
文件 36352 2018-04-19 16:31 class6_4\class6_4\obj\Debug\class6_4.pdb
文件 6748 2018-04-19 11:40 class6_4\class6_4\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2018-04-18 19:41 class6_4\class6_4\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-04-18 19:41 class6_4\class6_4\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-04-18 19:41 class6_4\class6_4\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
............此处省略7个文件信息
- 上一篇:c#聊天室服务器和客户端
- 下一篇:FTP客户端C#.zip
评论
共有 条评论