
年公務人員特種考試警察人員、一般警察人員、
國家安全局國家安全情報人員及移民行政人員考試試題
考 試 別
一般警察人員考試
等 別
三等考試
類科組別
警察資訊管理人員
科 目
物件導向程式設計
考試時間
2小時 座號:
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號:
頁次:
-
一、請寫出下列 Python 程式碼的執行結果,注意必須解析程式碼內容來說明
如何得到執行結果。(15 分)
class X:
def init(self, a):
self.a = a
def fun(self):
self.a *= 3
class Y(X):
def init(self, b):
super().init(3)
self.b = b
def fun(self):
self.a += 2
obj = Y(21)
obj.fun()
print(obj.a, obj.b)
二、請寫出下列 C++程式碼的執行結果,注意必須解析程式碼內容來說明如
何得到執行結果。(15 分)
#include <stdio.h>
#include <stdlib.h>
#define NUM 10
void fun1(int *, int);
int main(void) {
int a[NUM] = {1,2,3,4,5,6,7,8,9,10};
fun1(a, 5);
printf("n");
return 0;
}
void fun1(int *b, int size) {
if (size > 0) {
fun1(b+1, size-1);
printf("%d_", *b);
}
}
 

代號:
頁次:
-
三、請以物件導向語言設計一個簡易文字模式介面的班級成績計算程式。程
式需包含學生(Student)與班級(Class)二個類別。
學生類別內資料需包含有學生姓名、中英數三科個別成績與平均成績
(三科成績加總除以 3)。函數需包含有輸入學生姓名、輸入學生各科
成績、顯示學生姓名與成績(各科成績與平均成績)、計算學生平均成績。
班級類別內資料需包含有班級名稱、學生類別資料、班級各科平均成
績與總平均成績(各科平均成績加總除以 3)、班級各科成績最高分同
學的姓名及成績。函數需包含有計算班級各科平均成績與總平均成
績、計算與顯示各科成績最高分學生的姓名及成績。
作答內容除程式碼外,亦須繪製統一塑模語言(UML)之類別圖,程式
語言可採用 C++、C#、Java 或Python,程式內變數與函數的命名必須具
有可讀性,另亦須撰寫完整的程式碼來驗證程式執行的正確性。(40 分)
四、物件導向程式設計中的單例(Singleton)設計模式,目的在確保整個系
統中只有一個此類別的實例化物件,以保障在多使用者環境下關鍵資料
唯一性的資料安全。請依下列類別圖實作出一個在單執行緒環境下的單
例模式程式碼,且 Main 函數執行結果如下。
產品編號:1
產品名稱:個人電腦
作答可選用 C++、C#、Java 或Python,但副檔名須依使用的程式語言來
命名。
請撰寫 Program 程式碼。(15 分)
請撰寫 ProductManager 程式碼。(15 分)