zoukankan      html  css  js  c++  java
  • 第六章,上机2

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji2
     8 {
     9     public class Employee
    10     {
    11         public int Age{ get;set;}
    12         public Gender Gender { get; set; }
    13         public string ID { get; set; }
    14         public string Name { get; set; }
    15         protected List<Job> WorkList { get; set; }
    16         public Employee(string id,int age,string name,Gender gender,List<Job> list)
    17         {
    18             this.ID = id;
    19             this.Age = age;
    20             this.Name = name;
    21             this.Gender = gender;
    22             this.WorkList = list;
    23         }
    24     }
    25 }
    父类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji2
     8 {
     9     public class Job
    10     {
    11         public string Name { get; set; }
    12         public string Description { get; set; }
    13 
    14         public Job(string name,string description)
    15         {
    16             this.Name = name;
    17             this.Description = description;
    18         }
    19     }
    20 }
    Job类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji2
     8 {
     9     public enum Gender
    10     {
    11         男,
    12 13     }
    14 }
    枚举类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji2
     8 {
     9     public class PM:Employee
    10     {
    11         public int YearOfExperience { get; set; }
    12         public string DoWork()
    13         {
    14             string message = this.Name + "管理员完成工作内容!";
    15                 return message;
    16         }
    17         public PM(string id,int age,string name,Gender gender,List<Job> list,int yearOfExperience):base(id,age,name,gender,list)
    18         {
    19             this.YearOfExperience = yearOfExperience;
    20         }
    21     }
    22 }
    PM类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji2
     8 {
     9     public class SE:Employee
    10     {
    11         public int _popularity;
    12         public int Popularity { get; set; }
    13         public string DoWork()
    14         {
    15             StringBuilder sb = new StringBuilder();
    16             sb.Append(this.Name+":
    ");
    17             for (int i = 0; i < this.WorkList.Count; i++)
    18             {
    19                 sb.Append((i + 1) + "" + WorkList[i].Name + ":" + WorkList[i].Description + "
    ");
    20             }
    21             return sb.ToString();
    22         }
    23         public SE(string id,int age,string name,Gender gender,List<Job> list,int popularity):base(id,age,name,gender,list)
    24         {
    25             this.Popularity = popularity;
    26         }
    27         
    28     }
    29 }
    SE类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Threading.Tasks;
     9 using System.Windows.Forms;
    10 
    11 namespace Shangji2
    12 {
    13     public partial class FrmMain : Form
    14     {
    15         public FrmMain()
    16         {
    17             InitializeComponent();
    18             Init();
    19         }
    20         //员工集合
    21         List<Employee> empls = new List<Employee>();
    22         //员工信息初始化
    23         public void Init()
    24         {
    25             //实例化SE对象
    26             List<Job> list1 = new List<Job>();
    27             list1.Add(new Job("编码","购物车模块"));
    28             list1.Add(new Job("测试", "给购物车模块做单元测试"));
    29             SE yu = new SE("112",17,"俞++",Gender.男,list1,100);
    30 
    31             List<Job> list2 = new List<Job>();
    32             list2.Add(new Job("设计", "数据库建模"));
    33             list2.Add(new Job("编写文档", "详细设计说明书"));
    34             SE joe = new SE("111", 25, "Joe", Gender.男, list2, 200);
    35 
    36             //实例化PM对象
    37             PM pm = new PM("809",50,"盖茨",Gender.男,null,30);
    38             empls.Add(yu);
    39             empls.Add(joe);
    40             empls.Add(pm);
    41         }
    42 
    43         //汇报工作
    44         private void btnRender_Click(object sender, EventArgs e)
    45         {
    46             foreach (Employee emp in empls)
    47             {
    48                 if (emp is PM)
    49                 {
    50                     MessageBox.Show(((PM)emp).DoWork(),"汇报");
    51                 }
    52                 if (emp is SE)
    53                 {
    54                     MessageBox.Show(((SE)emp).DoWork(), "汇报");
    55                 }
    56             }
    57         }
    58     }
    59 }
    Main
  • 相关阅读:
    14、java中的equals()和toString()方法
    13、java中的多态
    1、editplus中将选取向前移动
    《Java4Android视频教程》学习笔记(一)
    android 构建数据库SQLite
    SWOT自我分析
    函数传递是如何让HTTP服务器工作的
    Node.js模块
    Viewcontrol的生命周期
    iOS开发-用宏定义求2个数中的最大值
  • 原文地址:https://www.cnblogs.com/lzx666/p/6691766.html
Copyright © 2011-2022 走看看