zoukankan      html  css  js  c++  java
  • (深入.Net平台和C#编程)第六章上机练习3.李向阳.20170411

     1 =======父类==========
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace Sj3.Entity
     9 {
    10     /// <summary>
    11     /// 父类
    12     /// </summary>
    13     public class Employee
    14     {
    15         public string ID { get; set; }
    16         public string Name { get; set; }
    17         public int Age { get; set; }
    18         public List<Job> WorkList { get; set; }
    19         public Gender Sex { get; set; }
    20         /// <summary>
    21         /// 构造函数
    22         /// </summary>
    23         /// <param name="id"></param>
    24         /// <param name="name"></param>
    25         /// <param name="age"></param>
    26         /// <param name="worklist"></param>
    27         /// <param name="sex"></param>
    28         public Employee(string id, string name, int age, List<Job> worklist, Gender sex)
    29         {
    30             this.ID = id;
    31             this.Name = name;
    32             this.Age = age;
    33             this.Sex = sex;
    34             this.WorkList = worklist;
    35         }
    36 
    37         public virtual string DoWork()
    38         {
    39             return "";
    40         }
    41     }
    42 }
    View Code
     1 =======性别类==========
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace Sj3.Entity
     9 {
    10     /// <summary>
    11     /// 性别
    12     /// </summary>
    13     public enum Gender
    14     {
    15         男,女
    16     }
    17 }
    View Code
     1 =========Job类=========
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace Sj3.Entity
     9 {
    10     /// <summary>
    11     /// 定义工作项类
    12     /// </summary>
    13     public class Job
    14     {
    15         public string Description { get; set; }  //描述
    16         public string Name { get; set; }   //工作名称
    17         /// <summary>
    18         /// 构造函数
    19         /// </summary>
    20         public Job(string description, string name)
    21         {
    22             this.Description = description;
    23             this.Name = name;
    24         }
    25     }
    26 }
    View Code
     1 =======子PM类===============
     2 
     3 using System;
     4 using System.Collections.Generic;
     5 using System.Linq;
     6 using System.Text;
     7 using System.Threading.Tasks;
     8 
     9 namespace Sj3.Entity
    10 {
    11     /// <summary>
    12     /// PM类
    13     /// </summary>
    14     public class PM : Employee
    15     {
    16 
    17         public PM(string name, string id, int age, Gender sex, List<Job> worklist)
    18             : base(id, name, age, worklist, sex)
    19         { }
    20 
    21         /// <summary>
    22         /// 给PM类添加DoWork()方法:工作
    23         /// </summary>
    24         public override string DoWork()
    25         {
    26             string mes = this.Name + ":管理员工完成工作内容!";
    27             return mes;
    28         }
    29     }
    30 }
    View Code
     1 ===========子SE类================
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace Sj3.Entity
     9 {
    10     /// <summary>
    11     /// SE类
    12     /// </summary>
    13     public class SE : Employee
    14     {
    15         public SE(string name, string id, int age, Gender sex, List<Job> worklist)
    16             : base(id, name, age, worklist, sex)
    17         { }
    18         /// <summary>
    19         /// 给SE类添加DoWork()方法:工作
    20         /// </summary>
    21         public override string DoWork()
    22         {
    23             StringBuilder sdd = new StringBuilder();
    24             sdd.Append(this.Name + ":
    ");
    25             for (int i = 0; i < this.WorkList.Count; i++)
    26             {
    27                 sdd.Append((i + 1) + "," + WorkList[i].Name + ":" + WorkList[i].Description + "
    ");
    28 
    29             }
    30             return sdd.ToString();
    31         }
    32     }
    33 }
    View Code
     1 =============测试类==================
     2 using System;
     3 using System.Collections.Generic;
     4 using System.ComponentModel;
     5 using System.Data;
     6 using System.Drawing;
     7 using System.Linq;
     8 using System.Text;
     9 using System.Threading.Tasks;
    10 using System.Windows.Forms;
    11 using Sj3.Entity;
    12 
    13 
    14 namespace Sj3
    15 {
    16     public partial class FrmMain : Form
    17     {
    18         public FrmMain()
    19         {
    20             InitializeComponent();
    21             InfoMain();
    22         }
    23         List<Employee> emply = new List<Employee>();
    24         /// <summary>
    25         /// 初始化员工信息
    26         /// </summary>
    27         public void InfoMain()
    28         {
    29             //实例SE对象
    30             List<Job> job = new List<Job>();
    31             job.Add(new Job("购物车模块", "编码"));
    32             job.Add(new Job("给购物车模块做单元测试", "测试"));
    33             SE se = new SE("爱边成", "111", 25, Gender.男, job);
    34 
    35             //实例SE对象
    36             List<Job> job1 = new List<Job>();
    37             job1.Add(new Job("购物车模块", "编码"));
    38             job1.Add(new Job("给购物车模块做单元测试", "测试"));
    39             SE se1 = new SE("joe", "112", 30, Gender.男, job1);
    40 
    41             //实例化PM对象
    42             PM pm = new PM("盖茨", "114", 50, Gender.男, job1);
    43             emply.Add(se);
    44             emply.Add(se1);
    45             emply.Add(pm);
    46             Console.Read();
    47         }
    48         /// <summary>
    49         ///汇报工作 
    50         /// </summary>
    51         /// <param name="sender"></param>
    52         /// <param name="e"></param>
    53         private void button1_Click(object sender, EventArgs e)
    54         {
    55             foreach (Employee emp in emply)
    56             {
    57                 //if (emp is PM)
    58                 //{
    59                 //    MessageBox.Show(((PM)emp).DoWork(), "汇报");
    60                 //}
    61                 //if (emp is SE)
    62                 //{
    63                 //    MessageBox.Show(((SE)emp).DoWork(), "汇报");
    64                 MessageBox.Show(emp.DoWork());
    65             }
    66         }
    67     }
    68 }
    View Code

    效果图:

  • 相关阅读:
    MVC ORM 架构
    Kubernetes 第八章 Pod 控制器
    Kubernetes 第七章 Configure Liveness and Readiness Probes
    Kubernetes 第六章 pod 资源对象
    Kubernetes 第五章 YAML
    Kubernetes 核心组件
    Kubernetes 架构原理
    Kubernetes 第四章 kubectl
    Kubernetes 第三章 kubeadm
    yum 配置及yum 源配置
  • 原文地址:https://www.cnblogs.com/qq2835200767/p/6691765.html
Copyright © 2011-2022 走看看