public abstract class DepartmentComponent
{
public string Name { private set; get; }
public DepartmentComponent(string name)
{
this.Name = name;
}
public virtual void PrintSupervisorOf(int spacing)
{
for (int counter = 0; counter < spacing; counter++)
{
Console.Write(" ");
}
Console.WriteLine(Name);
}
}
public class DepartmentComposite : DepartmentComponent
{
private IList<DepartmentComponent> employees;
public DepartmentComposite(string name) : base(name)
{
employees = new List<DepartmentComponent>();
}
public void AddDepartment(DepartmentComponent e)
{
employees.Add(e);
}
public void RemoveDepartment(DepartmentComponent e)
{
employees.Remove(e);
}
public override void PrintSupervisorOf(int spacing)
{
base.PrintSupervisorOf(spacing);
foreach (DepartmentComponent e in employees)
{
e.PrintSupervisorOf(spacing + 1);
}
}
}
public class Department : DepartmentComponent
{
public Department(string name) : base(name)
{
}
public override void PrintSupervisorOf(int spacing)
{
base.PrintSupervisorOf(spacing);
}
}
class Program
{
static void Main(string[] args)
{
DepartmentComposite salesDepartment1 = new DepartmentComposite("销售部1");
Department zhangsan = new Department("张三");
Department lisi = new Department("李四");
DepartmentComposite salesDepartment2 = new DepartmentComposite("销售部2");
DepartmentComposite specialDepartment = new DepartmentComposite("销售部2特别行动组");
Department wangwu = new Department("王五");
Department zhaoliu = new Department("赵六");
DepartmentComposite salesDepartment = new DepartmentComposite("销售部");
salesDepartment.AddDepartment(salesDepartment1);
salesDepartment.AddDepartment(salesDepartment2);
salesDepartment1.AddDepartment(zhangsan);
salesDepartment1.AddDepartment(lisi);
salesDepartment2.AddDepartment(specialDepartment);
specialDepartment.AddDepartment(wangwu);
specialDepartment.AddDepartment(zhaoliu);
salesDepartment.PrintSupervisorOf(0);
Console.ReadKey();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有