using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 第六章__上机练习2
{
public class Employee
{
public int Age { get; set; }
public string ID { get; set; }
public string Name { get; set; }
public Gender Gender { get; set; }
protected List<Job> WorkList { get; set; }
public virtual void SayHi()
{
Console.WriteLine("父类");
}
public Employee(string id, int age, string name, Gender gender, List<Job> list)
{
this.ID = id;
this.Age = age;
this.Name = name;
this.Gender = gender;
this.WorkList = list;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 第六章__上机练习2
{
public partial class Form1 : Form
{
List<Employee> empls=new List<Employee>();
public Form1()
{
InitializeComponent();
Into();
}
public void Into()
{
List<Job> list1=new List<Job>();
list1.Add(new Job("编码","购物车模块"));
list1.Add(new Job("测试", "给购物车模块做单元测试"));
SE a=new SE("112","苏琳琳",20,Gender.女,100,list1);
List<Job> list2 = new List<Job>();
list2.Add(new Job("设计", "数据库建模"));
list2.Add(new Job("编写文档", "详细设计说明书"));
SE j = new SE("113", "傲晴", 20, Gender.女, 100, list2);
PM pp=new PM("890","宋仲基",35,Gender.男, 99,null);
empls.Add(a);
empls.Add(j);
empls.Add(pp);
}
private void button1_Click(object sender, EventArgs e)
{
foreach (Employee emp in empls)
{
if (emp is PM)
{
MessageBox.Show(((PM) emp).DoWork(), "汇报");
}
if (emp is SE)
{
MessageBox.Show(((SE) emp).DoWork(), "汇报");
;
}
}
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__上机练习2
{
public enum Gender
{
男,女
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__上机练习2
{
public class Job
{
public string Name { get; set; }
public string Description { get; set; }
public Job(String name, string descrition)
{
this.Name = name;
this.Description = descrition;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__上机练习2
{
public class PM : Employee
{
public int YearOfExperrience { get; set; }
public string DoWork()
{
string message = this.Name + ":管理员工完成工作内容";
return message;
}
public override void SayHi()
{
Console.WriteLine("PM");
}
public PM(string id, string name, int age, Gender gender, int yearOfExperrience, List<Job> list)
: base(id, age, name, gender, list)
{
this.YearOfExperrience = yearOfExperrience;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__上机练习2
{
public class SE :Employee
{
public int Popularity { get; set; }
public string DoWork()
{
StringBuilder sb = new StringBuilder();
sb.Append(this.Name + ":\n");
for (int i = 0; i < this.WorkList.Count; i++)
{
sb.Append((i + 1) + "," + WorkList[i].Name + ":" + WorkList[i].Description + "\n");
}
return sb.ToString();
}
public override void SayHi()
{
Console.WriteLine("SE");
}
public SE(string id, string name, int age, Gender gender, int popularity, List<Job> list)
: base(id, age, name, gender, list)
{
this.Popularity = popularity;
}
}
}