視窗程式設計
(Windows Programming)
上課講義
(Version 1.0)
授課教師︰張慶寶 助理教授 崑山科技大學 資訊工程學系
99學年度 第 2 學期
遵守智慧財產權觀念」及「不得非法影印
崑山科技大學
資訊工程學系
I
目 錄 (Content)
1. 程式基本概念 ... 1
1.1 物件導向程式語言 ... 1
1.2 Java 程式開發環境 ... 2
1.3 參考練習 ... 6
2. 基本程式控制 ... 7
2.1 C++程式的結構 ... 7
2.2 變數的基本觀念 ... 8
2.3 基本輸入輸出 ... 10
2.4 綜合練習 ... 12
3. 結構化程式設計 ... 13
3.1 條件與有限迴圈 ... 13
3.2 陣列(Array) ... 14
3.3 無窮迴圈 ... 16
3.4 變數的宣告 ... 17
3.5 函數 ... 19
3.6 綜合練習 ... 25
4. 類別(Class) ... 26
4.1 類別與物件 ... 26
4.2 指標(Pointer)與類別(Class) ... 32
4.3 綜合練習 ... 43
5. 繼承(Inheritance) ... 46
5.1 繼承(Inheritance) ... 46
5.2 相關的性質 ... 55
5.3 虛擬函式(Virtual Function) ... 58
5.4 綜合練習 ... 62
崑山科技大學
資訊工程學系
II
6. 檔案處理 (File Operations) ... 64
6.1 String 字串處理 ... 64
6.2 日期與時間 ... 67
6.3 檔案處理(File System) ... 70
6.4 綜合練習 ... 77
7. 物件導向設計(Objected-Oriented Design) ... 79
7.1 OOD 的基本觀念 ... 79
7.2 UML (Unified Modeling Language) ... 81
7.3 UML Dynamic Diagram ... 87
7.4 綜合練習 ... 87
8. 視窗程式 (Windows Application) ... 91
8.1 Windows Form ... 91
8.2 基本元件 ... 92
8.3 物件處理 ... 95
8.4 相關功能函式 ... 96
8.5 綜合練習 ... 97
9. 多重繼承(Inheritance) ... 101
9.1 多重繼承(Inheritance) ... 101
10. Reference ... 102
崑山科技大學 授課教師:張慶寶
資訊工程學系 物件導向程式設計
1
1.
程式基本概念
1.1
物件導向程式語言
(1). 物件導向程式語言
隨著軟體技術的不斷演進, 高階語言也仍不斷在改良、演進。約在 1960 年代興起 了物件導向 (Object-Oriented) 的觀念, 簡單的說就是將資料和程式結合成物件,在 設計程式時以物件的方式來思考及設計程式的內容。
目前比較著名的物件導向程式語言,除了 C++ 外,還有 Ada、Java 、 Smalltalk 等。
(2). 直譯式語言
直譯式語言就是透過所謂的解譯器(Interpreter),每閱讀完程式中所描述的一部份,
便立即要求電腦進行對應的動作,一直到整個程式執行完畢為止。
由於沒有儲存轉譯的結果, 因此往後每次要再執行相同的程式時, 都必須要再花費 時間透過解譯器重新轉譯;直譯式的好處是程式寫完就可以執行,而不需等待轉譯 (3). 編譯式語言
編譯式語言是透過編譯器(Complier)先將整個程式從頭到尾編譯,然後才開始執行。
好處是每次執行時不需再重新翻譯。但第一次執行時就必須先花時間等待編譯。
Source EXE
結果 編譯
執行 修改
(4). Java 程式語言
Java 語言的發展歷史
Java 語言的特色
高效率的編譯式語言
介於高階與低階之間的語言
靈活的控制流程
可攜性佳
為程式設計師所設計的語言
崑山科技大學 授課教師:張慶寶
資訊工程學系 物件導向程式設計
2
1.2
Java 程式開發環境
(1). JDK SE 編譯器安裝
下載 JDK 編譯器
執行 jdk-6u18-windows-i586.exe
指定 JDK 安裝環境 (請利用[change]來指定此目錄) d:\prog\jdk1.6
指定 JRE 安裝環境 (請利用[change]來指定此目錄) d:\prog\jre6
(2). JDK SE 編譯器使用
建立目錄
d:\progSrc\Java\HelloWorld
編輯程式並存於 d:\progSrc\Java\HelloWorld\HelloWorld.java package HelloWorld;
public class HelloWorld {
public static void main(String[] args) { System.out.printf("test1");
} }
進入 d:\progSrc\Java\HelloWorld 來編譯 cd d:\progSrc\Java\HelloWorld
d:\prog\jdk1.6\bin\javac HelloWorld.java
若成功則會產生 HelloWorld.class
執行
(1) 切回到 d:\progSrc\Java 下
(2) d:\prog\jdk1.6\bin\java HelloWorld.HelloWorld 結果:
test1 (3). Eclipse 安裝
下載 eclipse 程式
clipse-reporting-galileo-SR1-win32.zip
解壓縮到 eclipse 目錄
並將此 eclipse 目錄 copy 到 d:\prog 底下 d:\prog\eclipse
建立新工作目錄 d:\progSrc\Java
執行 d:\prog\eclipse\eclipse.exe
崑山科技大學 授課教師:張慶寶
資訊工程學系 物件導向程式設計
3
選擇工作目錄為 d:\progSrc\Java (可以使用 default 來作為預設的目錄)
設定完成後會顯示歡迎畫面 (4). Eclipse 建立新 project
建立 Project
進入 eclipse
[File] – [New] – [Project]
選取[Java] – [Java Project],按[Next]
Project Name 輸入 test01
(注意工作目錄是否為 d:\progSrc\Java)
建立 Java Source Code
在 test01 下按右鍵,選[New] – [class]
輸入:
Package: HelloWorld Name: HelloWorld
選取:
(1) public static void main (String [] args) (2) inherited abstract methods
(3) generated comments
按[Finish]
編輯 HelloWorld.java package HelloWorld;
/**
* @author Administrator */
public class HelloWorld {
public static void main(String[] args) { // TODO Auto-generated method stub }
}
輸入下面程式:
public static void main(String[] args) { System.out.println("test1");
// TODO Auto-generated method stub }
按下執行鈕: