
臺北捷運公司 107 年4月29 日新進工程員(三)(資訊類) 
甄試試題-應用系統程式設計 
 
第 2 頁,共 5 頁 
二、某公司管理組織以樹狀結構表示。C#程式碼如下所示。員工
(Employee)包括管理者(Manager)和開發人員(Developer):(1) 
Manager 有自己管理的團隊,可以管理 Manager 和Developer;(2) 
Developer 被Manager 所管理。(共 30 分) 
(一) 請劃出程式碼中組織樹狀圖,並說明之:(7分) 
abstract cla ss Employ ee { 
 public abstract void add(Employee employee); 
 public ab stract void r emove(Employ ee employee); 
 public abstract void myPrint(); 
 publ ic v ir tual  void  setD ep(i nt d ep)  { th is.de p =  dep;  } 
 public void print()        { 
 Console.Wr iteLine(dep +  ":" + N ame + " , Salary = " + Salary); 
 myPrint(); 
 } 
 public String Name { get; set; } 
 public int Salary { get; set; } 
 protected int dep; 
 pri vate Str ing name ; 
 private int salary; 
 } 
 class Manag er: Employee { 
 public Manager(String name, int salary) { 
 Name = name; 
 Salary  = salary; 
 setDep(1); 
 } 
 publ ic o verr ide  void  se tDep(i nt  dep)  {   
 this.dep = dep; 
 foreach (E mployee e mployee in employees) { 
 employee.setDep(this.dep + 1); 
 } 
 } 
 public override void add(Employ ee employee) { 
 employee.setDep(dep + 1);   
 employees.Add(employee);             
 } 
 public override voi d myPri nt() { 
 if (employees.Count>0) {   
 Console. W r iteLine("The manag ement team  " + de p); 
 foreach (E mployee e mployee in employ ees) { 
 employee.print(); 
 }