Download presentation
Presentation is loading. Please wait.
1
類別、物件與方法 的設計運用
2
類別與物件是最核心的部分 定義類別 實體化成物件 可執行的程式區塊單位~「方法」
3
物件導向之意義 物件導向是以物件為導向(或說思考單位),每一個元素都是物件(Object),例如:函式、類別、命名空間…等等都是物件。
物件與物件之間可以重複使用,如果有不同的地方,也可以透過繼承、多型、介面的方式創造一個新的物件來使用它; 故物件導向可以支援可重複使用(Reuse)的模組,讓新的物件可以延續既有物件的性質, 卻又能自行再作其他的調適與變化,就是利用繼承性可以避免相同的資訊重複出現及發生。
4
物件導向之所以被重視,是因為它解決二個很重要的問題: 增加程式碼的可重複使用性 降低系統維護的負擔
將具備獨立性特質的程式碼包裝起來成一個物件, 視情況需要而彈性修改部份的程式碼
5
類別與物件 類別(Class)與物件(Object) 此外,類別是物件導向程式中的最小單位, 類別是程式的設計藍圖 而物件則是將此藍圖具體化
所有的欄位、屬性、方法、事件等等程式,都必須定義在類別中。
6
類別 C#本身為物件導向的語言,最簡單的觀察與印證方式就是隨便開啓一個WebForm表單的Code-Behind檔,裡面的程式都會有class關鍵字。 「_Default」這個類別繼承自Page類別 類別 類別之繼承
7
類別之宣告與類別成員 類別正式的定義: C# 類別的宣告語法如下: 包含資料成員(常數和欄位)
函式成員(方法、屬性、事件、索引子、運算子、執行個體建構函式、解構函式和靜態建構函式) 巢狀型別 C# 類別的宣告語法如下: 類別修飾詞 class 類別名稱 { //類別成員… //欄位 //屬性 //方法 //…其他 }
8
類別修飾詞 宣告類別時,多半會在類別名稱之前加上public或private一詞,它們就是屬於修飾詞的一種。
9
類別成員
10
物件 將類別進行實體化或個體化(instantiated) CLR才會為這個實體化物件配置記憶體空間
讓個體具備執行能力,而這個體化就稱之為「物件」。 C# 類別從宣告到執行的過程大致如下: Class類別宣告類別進行實體化CLR配置實際電腦記憶體空間給類別物件具備執行程式能力的實體物件
11
類別的建構函式(Constructor) 預設建構函式的作用,就是在初始化一個類別時,必須執行的基本工作
People Mary=new People(); //預設建構函式 public People() { lastName = null; firstName = null; age = 0; height = 0; weight = 0; gender = false; }
12
方法 方法並不是什麼新鮮的概念,在許多程式語言中早就存在了,如函式(function)、副程式(subroutine)、程序(procedure)、子程式(subprogram)等等。 所謂的方法(Method)就是由程式碼所組成的區塊(Block),並賦予這個程式區塊一個名稱,且可重複呼叫使用此方法。 將程式做功能性的區分,把程式寫成許多較小的功能性的單位(方法),程式主體再去呼叫各個功能性的單位。
13
方法之定義與使用 方法定義的語法型式如下: 以上方法定義中主要有四個部分: 成員存取修飾詞 回傳值型別 方法名稱(參數型態 參數) {
成員存取修飾詞:主要有public、private、protected、internal四種。 回傳值型別:方法在運算過後,若回傳值是字串,則回傳值型別必須指定為string,若回傳值為整數,則回傳值型別必須指定為int。 方法名稱:就是方法的名字。 參數:參數部分是選擇性的,如果方法沒有接受參數,就不需要定義;若方法需要接受參數的話,則可指定一到多個參數。 成員存取修飾詞 回傳值型別 方法名稱(參數型態 參數) { 程式碼… }
14
方法參數的宣告與使用 方法宣告參數 方法若要宣告參數,可在方法名稱後的小括號中加入參數: 下面是一個Add方法使用參數的例子:
方法名稱(參數型別 參數名稱1, 參數型別 參數名稱2, …) { 程式碼內容 … } 下面是一個Add方法使用參數的例子: public int Add(int a, int b) { return a+b; }
15
排序
16
選擇排序(Selection sort) 每一回合都挑選最小的資料放到最前面。 也就是先將最小的放到第一個位置,次小的放在第二個位置,第三小的放第三個位置,依此類推。 O(n2);穩定性排序。 Input 18 2 20 34 12 第1回合 第2回合 第3回合 第4回合
17
選擇排序法
18
選擇排序法
19
氣泡排序(Bubble sort) 又稱為交換排序(interchange sort)。
如果是由小排到大,每次都只將相鄰的兩個資料做比較,假使前一個比後一個大時,則互相對調。 第一回合要做n-1次的比較,但每做完一回合,在下次就可以少一次的比較,直到全部比完為止。 Input 18 2 20 34 12 第1回合 第2回合 第3回合 第4回合 O(n2);穩定性排序。
20
插入排序(Insertion sort) 從第二個資料開始,每次考慮一資料,並依序插入其前面適當的位置。 O(n2);穩定性排序。
Input 45 39 12 25 30 第1回合 第2回合 第3回合 第4回合
21
本章結束
Similar presentations