亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#復合模式(Composite Pattern)實例教程

2020-01-24 02:25:18
字體:
來源:轉載
供稿:網友

本文以一個簡單實例的形式講述了C#復合模式。分享給大家供大家參考。具體實現方法如下:

一般在顯示樹形結構時,復合模式有很好的體現。本文實例顯示如下部門結構:

如上圖所示,有的節點包含子節點,有的節點不包含子節點。不管是什么節點,每個節點就代表一個部門。

首先設計一個關于部門的抽象基類。

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);    }}

以上,通過構造函數給屬性賦值,通過PrintSupervisorOf(int spacing)方法打印出節點的名稱。

接下來設計包含子節點的節點。該類維護著DepartmentComponent類型的集合,提供方法向這個集合中添加節點或從集合中刪除節點。

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);      }    }}

以上 PrintSupervisorOf(int spacing)方法重寫了抽象基類的方法,不僅把本節點的名稱打印出來,還使用遞歸把所有子節點的名稱顯示出來。

最后設計部包含子節點的節點。

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();    }}

程序運行結果如下圖所示:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲xxxx在线| 欧美激情中文字幕在线| 亚洲第一天堂av| 国产精品无av码在线观看| 不卡伊人av在线播放| 国产日韩欧美91| 亚洲国产高潮在线观看| 日韩视频免费观看| 亚洲人成在线免费观看| 国产精品免费一区豆花| 国产视频丨精品|在线观看| 日韩精品视频在线| 麻豆国产精品va在线观看不卡| 高清在线视频日韩欧美| 国产成人精品一区二区三区| www日韩欧美| 国产精品高潮呻吟久久av黑人| 欧美日韩视频在线| 永久免费看mv网站入口亚洲| 97超级碰碰人国产在线观看| 欧美亚洲另类制服自拍| 日本精品视频网站| 日韩av第一页| 成人黄色av播放免费| 国内自拍欧美激情| 日韩麻豆第一页| 日韩一区二区三区国产| 国产视频自拍一区| 日韩在线免费视频| 日韩高清电影好看的电视剧电影| 欧美视频免费在线观看| 亚洲国产精品va在线观看黑人| 亚洲国产高清高潮精品美女| 亚洲片在线观看| 亚洲色图欧美制服丝袜另类第一页| 亚洲黄页网在线观看| 欧美在线精品免播放器视频| 精品久久久久久久久中文字幕| 欧美专区中文字幕| 亚洲风情亚aⅴ在线发布| 亚洲人成欧美中文字幕| 亚洲自拍在线观看| 永久免费看mv网站入口亚洲| 在线电影av不卡网址| 成人深夜直播免费观看| 国产精品福利网| 伊是香蕉大人久久| 精品国产一区二区三区久久| 精品成人av一区| 最近中文字幕2019免费| 91超碰中文字幕久久精品| 992tv成人免费影院| 欧美三级免费观看| 成人xxxx视频| 欧美大片在线影院| 亚洲精品久久7777777| 国产综合在线观看视频| 久久躁狠狠躁夜夜爽| 日韩中文字幕在线精品| 亚洲一区二区中文| 国产精品一区二区三区免费视频| 亚洲r级在线观看| 国产精品欧美在线| 日韩电影在线观看永久视频免费网站| 国产中文字幕日韩| 欧美成人精品h版在线观看| 精品久久久久久久中文字幕| 日韩av色在线| 成人免费在线网址| 日韩h在线观看| 国产亚洲一区二区在线| 欧美在线视频一区| 日韩免费不卡av| 最近中文字幕日韩精品| 欧美多人乱p欧美4p久久| 2019日本中文字幕| 国产精品一区二区女厕厕| 亚洲三级 欧美三级| 亚洲福利精品在线| 精品国内亚洲在观看18黄| 欧美午夜女人视频在线| 国产精品av免费在线观看| 精品久久久久久久久国产字幕| 亚洲女人初尝黑人巨大| 日韩毛片在线看| 亚洲视频日韩精品| 国产精品久久综合av爱欲tv| 在线日韩日本国产亚洲| 欧美黄网免费在线观看| 日本精品视频网站| 欧美肥臀大乳一区二区免费视频| 亚洲欧美日韩精品久久| 亚洲人成网7777777国产| 精品国产福利视频| 成人精品一区二区三区| 成人高h视频在线| 国产一区二区三区免费视频| 国产精品第100页| 欧美日韩亚洲系列| 日韩免费电影在线观看| 成人乱人伦精品视频在线观看| 成人黄色网免费| 疯狂欧美牲乱大交777| 亚洲免费视频在线观看| 久久久国产精品亚洲一区| 91成人性视频| 久久精品免费电影| 欧美日韩综合视频| 久久影院资源站| 中文字幕日韩在线播放| 国产精品日韩久久久久| 日本精品视频在线| 亚洲一区中文字幕| 久久成人一区二区| 麻豆乱码国产一区二区三区| 精品网站999www| 欧美日韩国产精品一区二区三区四区| 中文字幕在线日韩| 国内精品一区二区三区| 亚洲精品成人网| 欧美亚州一区二区三区| 亚洲成人a**站| 日韩天堂在线视频| 日本欧美黄网站| 久久这里有精品视频| 亚洲精品成人久久电影| 高跟丝袜一区二区三区| 久久91超碰青草是什么| 中文字幕国产精品久久| 在线看日韩欧美| 国产精品色悠悠| 97超碰国产精品女人人人爽| 国产精品69精品一区二区三区| 日本不卡免费高清视频| 国产精品白嫩美女在线观看| 日韩一区二区久久久| 亚洲一区二区免费在线| 91av在线播放视频| 欧美性视频在线| 国产精品福利观看| 精品少妇一区二区30p| 日本免费一区二区三区视频观看| 国产精品久久久久免费a∨大胸| 日韩精品免费在线视频| 欧美色播在线播放| 热久久美女精品天天吊色| 精品偷拍各种wc美女嘘嘘| 久久99热这里只有精品国产| 97视频在线看| 亚洲成人网久久久| 日本国产一区二区三区| 综合国产在线观看| 久久久精品视频成人| 国产一区二区三区在线免费观看| 中文字幕日韩综合av| 国产精品久久久久久久天堂| 精品激情国产视频| 成人精品aaaa网站| 午夜精品蜜臀一区二区三区免费| 国产精品亚洲视频在线观看| 久久精品欧美视频| 国产精品一区二区久久精品| 亚洲第一级黄色片| 成人两性免费视频|