⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boss.cs

📁 c#设计模式随书源码 c#设计模式随书源码
💻 CS
字号:
using System;
using System.Collections ;
namespace Composite
{
	/// <summary>
	/// Summary description for Boss.
	/// </summary>
	public class Boss:Employee
	{
		public Boss(AbstractEmployee parnt, string name, float salary):base(parnt, name,salary) 	{
		}
		//------
		public Boss(AbstractEmployee parnt, AbstractEmployee emp):base(parnt, emp.getName() , emp.getSalary()) 	{
		}
		//------
		public override void add(string nm, float salary) {
			AbstractEmployee emp = new Employee(this, nm,salary);
			subordinates.Add (emp);
		}
		//------
		public override void add(AbstractEmployee emp){
			subordinates.Add(emp);
		}
		//------
		public override AbstractEmployee getChild() {
			bool found;
			AbstractEmployee tEmp = null;
			IEnumerator esub ;
        
        if (getName().Equals (getName())) 
            return this;
        else {
            found = false;
            esub = subordinates.GetEnumerator ();
            while (! found && esub.MoveNext()) {
				tEmp = (AbstractEmployee)esub.Current; 
				found = (tEmp.getName().Equals(name));
                if (! found) {
                    if (! tEmp.isLeaf()) {
                        tEmp = tEmp.getChild();
						found = (tEmp.getName().Equals(name));
					 }      
				}                             
			}
			if (found) 
			   return tEmp;
			  else                
			   return new Employee(null, "New person", 0);
            }
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -