
臺北捷運公司 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();
}