
107
年公務人員特種考試警察人員、一般警察人員考試及
107
年特種考試交通事業鐵路人員考試試題
 代號:30520  全五頁
第一頁
考試別: 一般警察人員考試
等別: 三等考試 
類科別: 警察資訊管理人員
科目: 物件導向程式設計
考試時間 : 2 小時 座號:  
※注意: 
禁止使用電子計算器。 
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。 
本科目除專門名詞或數理公式外,應使用本國文字作答。 
 
一、表一為用來實現兩數運算的 C#程式碼,Operation.cs 檔案定義了三個類別;IFactory.cs
定義了一個介面及兩個類別;Program.cs 則定義了 Program 類別。 
表一: 
Operation.cs IFactory.cs 
 
namespace FactoryPattern 
{ 
    class Operation 
    { 
        private double _num1; 
        private double _num2; 
        public double Num1 
        { 
            get { return _num1; } 
            set { _num1 = value; } 
        } 
        public double Num2 
        { 
            get { return _num2; } 
            set { _num2 = value; } 
        } 
        public virtual double Result() 
        { 
            return 0; 
        } 
    } 
 
        class OperationAdd : Operation 
    { 
        public override double Result() 
        { 
            return Num1 + Num2; 
        } 
    } 
        class OperationMultiply : Operation 
    { 
        public override double Result() 
        { 
            return Num1 * Num2; 
        } 
    } 
} 
 
namespace FactoryPattern 
{ 
    interface IFactory 
    { 
        Operation Create(); 
    } 
        class AddFactory : IFactory 
    { 
        public Operation Create() 
        { 
            return new OperationAdd(); 
        } 
    } 
        class MultiplyFactory : IFactory 
    { 
        public Operation Create() 
        { 
            return new OperationMultiply(); 
        } 
    } 
} 
Program.cs 
namespace FactoryPattern 
{ 
 class Program 
 { 
   static void Main(string[] args) 
   { 
       IFactory operFactory = new AddFactory(); 
       Operation oper = operFactory.Create(); 
       oper.Num1 = 3; 
       oper.Num2 = 5; 
       Console.WriteLine(oper.Result()); 
   } 
 } 
} 
請根據表一回答以下問題: 
在 C# 語言中,關鍵字 namespace 的主要用途為何?(2分) 
程式進入點在那個類別的那個方法中?(2分) 
關鍵字 virtual 與override 的主要用途為何?(2分) 
class AddFactory : IFactory{….}  的意義為何?(2分) 
IFactory operFactory = new AddFactory();  這段程式碼用到了物件導向程式設計三
大特性中的那一個特性?(2分) 
請依據表一的程式碼畫出 UML 類別圖。(15 分) 
(請接第二頁)