• 大小: 53KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 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个文件信息

评论

共有 条评论