(深入.Net平台和C#编程)第六章.上机练习2.20170410

----------父类----------

 1 using Lesson6.上机练习2.enums;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7
 8 namespace Lesson6.上机练习2
 9 {
10     /// <summary>
11     /// 父类
12     /// </summary>
13     public class Employee
14     {
15         /// <summary>
16         /// 工号
17         /// </summary>
18         public string ID { get; set; }
19
20         /// <summary>
21         /// 年龄
22         /// </summary>
23         public int Age { get; set; }
24
25         /// <summary>
26         /// 姓名
27         /// </summary>
28         public string Name { get; set; }
29
30         /// <summary>
31         /// 性别
32         /// </summary>
33         public Gender Gender { get; set; }
34
35
36
37         /// <summary>
38         /// 给Employee类添加工作列表属性
39         /// </summary>
40         protected List<Job> WorkList { get; set; }
41
42         public Employee(string id, int age, string name, Gender gender, List<Job> list)
43         {
44             this.ID = id;
45             this.Age = age;
46             this.Name = name;
47             this.Gender = gender;
48             this.WorkList = list;
49         }
50     }
51 }

----------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 Lesson6.上机练习2
 8 {
 9     /// <summary>
10     /// 定义工作项目
11     /// </summary>
12     public class Job
13     {
14         /// <summary>
15         /// 工作名称
16         /// </summary>
17         public string Name { get; set; }
18
19         /// <summary>
20         /// 描述
21         /// </summary>
22         public string Description { get; set; }
23
24         /// <summary>
25         /// 构造函数
26         /// </summary>
27         /// <param name="name"></param>
28         /// <param name="description"></param>
29         public Job(string name, string description)
30         {
31             this.Name = name;
32             this.Description = description;
33         }
34     }
35 }

----------PM类----------

 1 using Lesson6.上机练习2.enums;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7
 8 namespace Lesson6.上机练习2
 9 {
10     /// <summary>
11     /// 项目经理
12     /// </summary>
13     class PM:Employee
14     {
15         /// <summary>
16         /// 给PM类添加DoWork()方法:工作
17         /// </summary>
18         /// <returns></returns>
19         public string DoWork()
20         {
21             string message = this.Name + ":管理员完成工作类容!";
22             return message;
23         }
24
25         /// <summary>
26         /// 管理经验
27         /// </summary>
28         public int YearOfExperience { get; set; }
29
30
31         /// <summary>
32         /// 修改PM类的构造函数
33         /// </summary>
34         /// <param name="id"></param>
35         /// <param name="name"></param>
36         /// <param name="age"></param>
37         /// <param name="gender"></param>
38         /// <param name="yearOfExperience"></param>
39         /// <param name="list"></param>
40         public PM(string id,string name,int age,Gender gender,int yearOfExperience,List<Job> list):base(id,age,name,gender,list)
41         {
42             this.YearOfExperience = yearOfExperience;
43         }
44     }
45 }

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace Lesson6.上机练习2
 8 {
 9     /// <summary>
10     /// 定义工作项目
11     /// </summary>
12     public class Job
13     {
14         /// <summary>
15         /// 工作名称
16         /// </summary>
17         public string Name { get; set; }
18
19         /// <summary>
20         /// 描述
21         /// </summary>
22         public string Description { get; set; }
23
24         /// <summary>
25         /// 构造函数
26         /// </summary>
27         /// <param name="name"></param>
28         /// <param name="description"></param>
29         public Job(string name, string description)
30         {
31             this.Name = name;
32             this.Description = description;
33         }
34     }
35 }

----------SE类----------

 1 using Lesson6.上机练习2.enums;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7
 8 namespace Lesson6.上机练习2
 9 {
10     /// <summary>
11     /// 程序员
12     /// </summary>
13     public class SE:Employee
14     {
15         /// <summary>
16         /// 给SE类添加DoWorK()方法:工作
17         /// </summary>
18         /// <returns></returns>
19         public string DoWork()
20         {
21             StringBuilder sb = new StringBuilder();
22             sb.Append(this.Name + ":\n");
23             for (int i = 0; i < this.WorkList.Count; i++)
24             {
25                 sb.Append((i + 1) + "、" + WorkList[i].Name + ":" + WorkList[i].Description + "\n");
26             }
27             return sb.ToString();
28         }
29
30         /// <summary>
31         /// 人气值
32         /// </summary>
33         public int Popularity { get; set; }
34
35         /// <summary>
36         /// 修改SE类的构造函数
37         /// </summary>
38         /// <param name="id"></param>
39         /// <param name="name"></param>
40         /// <param name="age"></param>
41         /// <param name="gender"></param>
42         /// <param name="popularity"></param>
43         /// <param name="List"></param>
44         public SE(string id, string name, int age, Gender gender, int popularity, List<Job> List)
45             : base(id, age, name, gender, List)
46         {
47             this.Popularity = popularity;
48         }
49     }
50 }

----------窗体代码----------

 1 using Lesson6.上机练习2;
 2 using Lesson6.上机练习2.enums;
 3 using System;
 4 using System.Collections.Generic;
 5 using System.ComponentModel;
 6 using System.Data;
 7 using System.Drawing;
 8 using System.Linq;
 9 using System.Text;
10 using System.Threading.Tasks;
11 using System.Windows.Forms;
12
13 namespace Lesson6_2
14 {
15     public partial class Form1 : Form
16     {
17         public Form1()
18         {
19             InitializeComponent();
20             Init();
21         }
22         List<Employee> empls = new List<Employee>();
23
24         /// <summary>
25         ///汇报工作
26         /// </summary>
27         /// <param name="sender"></param>
28         /// <param name="e"></param>
29         private void button1_Click(object sender, EventArgs e)
30         {
31             foreach (Employee emp in empls)
32             {
33                 if(emp is PM)
34                 {
35                     MessageBox.Show(((PM)emp).DoWork(),"汇报");
36                 }
37                 if(emp is SE)
38                 {
39                     MessageBox.Show(((SE)emp).DoWork(),"汇报");
40                 }
41             }
42
43
44         }
45
46
47
48
49
50         /// <summary>
51         /// 员工信息初始化
52         /// </summary>
53         public void Init()
54         {
55             //实例化SE对象
56             List<Job> list1 = new List<Job>();
57             list1.Add(new Job("编码", "购物车模块"));
58             list1.Add(new Job("测试", "给购物车模块做单元测试"));
59             SE ai = new SE("112","爱编程",50,Gender.男,30,list1);
60
61             List<Job> list2 = new List<Job>();
62             list2.Add(new Job("设计","数据库建模"));
63             list2.Add(new Job("编写文档","详细设计说明书"));
64             SE joe = new SE("113","joe",30,Gender.女,200,list2);
65
66             //实例化PM对象
67             PM pm = new PM("890","盖茨",50,Gender.女,30,null);
68             empls.Add(ai);
69             empls.Add(joe);
70             empls.Add(pm);
71         }
72
73
74     }
75 }

时间: 2024-08-02 11:02:23

(深入.Net平台和C#编程)第六章.上机练习2.20170410的相关文章

(深入.Net平台和C#编程)第六章.上机练习4.20170410

---------------------------------------------------父类--------------------------------------------------- 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Calc.

(深入.Net平台和C#编程)第六章.简答题3.20170410

---------------------------------------父类Animals类--------------------------------------- 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace JD.entity 8 { 9 /// <

(深入.Net平台和C#编程)第六章上机练习4.李向阳.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 Sj4.Entity 9 { 10 /// <summary> 11 /// 加法 12 /// </summary> 13 publ

(深入.Net平台和C#编程)第六章上机练习1.李向阳.20170411

1 =============Truck类========== 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace SJ1.entity 9 { 10 /// <summary> 11 /// 卡车类 12 /// </summary> 13 public

(深入.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 Emplo

python核心编程--第六章 6.22 练习

6.22 练习 初学python,如果代码有问题,欢迎指正. #!/usr/bin/python # -*- coding: utf-8 -*- #6–1. 字符串.string 模块中是否有一种字符串方法或者函数 #可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? import string ss = "I'm chinese." substr = 'chinese' index = ss.find(substr) if index == -1: print("No

【读书笔记】C#高级编程 第六章 数组

(一)同一类型和不同类型的多个对象 如果需要使用同一类型的多个对象,就可以使用数组或集合(后面章讲). 如果需要使用不同类型的多个对象,可以使用Tuple(元组)类型. (二)简单数组 如果需要使用同一类型的多个对象,可以使用数组.数组是一种结构,它可以包含同一类型的多个元素. 1.数组的声明 在声明数组时,应先定义数组总元素的类型,其后是一堆空方括号和一个变量名. 例子: 以下代码声明了一个包含整形类型的数组 int[] intArray; 2.数组的初始化 声明了数组后,就必须为数组分配内存

S2T40.(深入.Net平台和C#编程)第四章.简答题4.刁汉生.20170406

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace 简答题.Entity 8 { 9 /// <summary> 10 /// 蚂蚁类 11 /// </summary> 12 public class Ant 13 { 14 //蚂蚁名字 15 publi

S2T40.(深入.Net平台和C#编程)第四章.简答题5.刁汉生.20170406

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace 简答题5.Entity 8 { 9 /// <summary> 10 /// 巫师类 11 /// </summary> 12 public class Wizard 13 { 14 /// <sum