a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#組合模式實例詳解

2019-10-29 21:40:51
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了C#組合模式,實例分析了C#實現組合模式的原理與相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#組合模式。分享給大家供大家參考。具體如下:

Company.cs如下:

 

 
  1. ?using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. namespace ConsoleApplication1 
  6. public abstract class Company 
  7. protected string name; 
  8. public Company(string name)  
  9. this.name = name; 
  10. public abstract void Add(Company c); 
  11. public abstract void Remove(Company c); 
  12. public abstract void Display(int depth); 
  13. public abstract void LineOfDuty(); 

ConcreteCompany.cs如下:

 

 
  1. ?using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. namespace ConsoleApplication1 
  6. public class ConcreteCompany:Company 
  7. private List<Company> children = new List<Company>(); 
  8. public ConcreteCompany(string name)  
  9. :base(name) 
  10. {} 
  11. public override void Add(Company c) 
  12. children.Add(c); 
  13. public override void Remove(Company c) 
  14. children.Remove(c); 
  15. public override void Display(int depth) 
  16. Console.WriteLine(new String('-',depth)+name); 
  17. foreach(Company component in children) 
  18. component.Display(depth+2); 
  19. public override void LineOfDuty() 
  20. foreach(Company component in children) 
  21. component.LineOfDuty(); 

FinanceDepartment.cs如下:

 

 
  1. ?using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. namespace ConsoleApplication1 
  6. public class FinanceDepartment:Company 
  7. public FinanceDepartment(string name) : base(name) { } 
  8. public override void Add(Company c) 
  9. public override void Remove(Company c) 
  10.  
  11. public override void Display(int depth) 
  12. Console.WriteLine(new String('-',depth)+name); 
  13. public override void LineOfDuty() 
  14. Console.WriteLine("{0} 財務支付管理",name); 

HRdepartment.cs如下:

 

 
  1. ?using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. namespace ConsoleApplication1 
  6. public class HRdepartment:Company 
  7. public HRdepartment(string name) 
  8. :base(name) 
  9. { } 
  10. public override void Add(Company c) 
  11. public override void Remove(Company c) 
  12. public override void Display(int depth) 
  13. Console.WriteLine(new String('-',depth)+name); 
  14. public override void LineOfDuty() 
  15. Console.WriteLine("{0} 招聘培訓管理",name); 

Program.cs如下:

 

 
  1. ?using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. namespace ConsoleApplication1 
  6. class Program 
  7. static void Main(string[] args) 
  8. ConcreteCompany root = new ConcreteCompany("北京總共司"); 
  9. root.Add(new HRdepartment("人力部")); 
  10. root.Add(new FinanceDepartment("財務部")); 
  11. ConcreteCompany comp = new ConcreteCompany("上海分公司"); 
  12. comp.Add(new HRdepartment("分工司人力部")); 
  13. comp.Add(new FinanceDepartment("分公司財務部")); 
  14. root.Add(comp); 
  15. ConcreteCompany comp1 = new ConcreteCompany("南京分部"); 
  16. comp1.Add(new HRdepartment("南京人力部")); 
  17. comp1.Add(new FinanceDepartment("南京財務部")); 
  18. comp.Add(comp1); 
  19. ConcreteCompany comp2 = new ConcreteCompany("杭洲分部"); 
  20. comp2.Add(new HRdepartment("杭州人事部")); 
  21. comp2.Add(new FinanceDepartment("杭州財務部")); 
  22. comp.Add(comp2); 
  23. root.Display(1); 
  24. Console.ReadKey(); 

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 好看的一级毛片 | 久久蜜桃av一区二区天堂 | 中文字幕在线看 | 成人免费一区二区三区视频网站 | 超碰免费在线观看 | 久久精品无码一区二区日韩av | 黄色毛片在线播放 | 国产精品99999 | av激情在线 | 欧美成视频 | 91.成人天堂一区 | 国产精品一区二 | 日韩欧美国产一区二区三区 | 国产精品久久久久久久久免费 | 91在线看片| 精品日韩欧美一区二区三区在线播放 | 日韩精品视频在线 | 国产精品免费一区二区 | 精品久久国产 | 精品国产一区二区三区粉芽 | www.av在线 | 999国内精品永久免费视频 | 成人久久久精品乱码一区二区三区 | 久久久av | 狠狠天天 | 久久精品欧美一区二区三区不卡 | 久草视频观看 | 日本精品久久 | 欧美精品欧美极品欧美激情 | 久草综合网 | 成年人免费看 | 国产成人免费视频 | 亚洲成人av在线 | 亚洲精品一二三区 | 伊人在线| 日韩精品一区二区三区免费观看视频 | 国产一区二区三区在线视频 | 亚洲一区久久 | 国产精品www| 看真人视频a级毛片 | 在线播放一区二区三区 |