
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 分)
(請接第二頁)