類別、物件與方法 的設計運用.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

第6章 類別與物件 – 封裝 6-1 物件導向的基礎 6-2 Java的類別與物件 – 封裝 6-3 類別的建構子
大葉大學 指導教授: 黃鈴玲 學生: 林慶南(工業工程與科技管理所)
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
第13章 物件導向與例外處理 13-1 物件導向的基礎 13-2 類別與物件 13-3 類別的繼承 13-4 PHP的例外處理
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
11 繼承類別 11.4 建立者與破壞者 單一建立者與破壞者 11-20
C++入門 以Dev C++為例.
C/C++基礎程式設計班 C++:物件導向程式設計 類別的使用 (Class)
Project 2 JMVC code tracing
Chapter 5 遞迴 資料結構導論 - C語言實作.
C#.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
LINQ 建國科技大學 資管系 饒瑞佶.
Java簡介.
Visual C++ introduction
簡易C++除錯技巧 長庚大學機械系
9/28號專題報告 Web網頁遊戲 曾建瑋.
JAVA 程式設計與資料結構 第七章 繼承與Interface.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
串列(List) 撰寫一串列程式.
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
C語言簡介 日期 : 2018/12/2.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
程式設計(二) 進階類別 郭文真 Sabrina Kuo.
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
Topic Introduction—RMI
第一單元 建立java 程式.
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
Ch20. 計算器 (Mac 版本).
第 19 章 XML記憶體執行模式.
|07 函數.
精彩Java 2程式設計 <吳逸賢、吳目誠 編著>
表格(HTML – FORM).
C++: 物件導向程式設計-使用類別(Class)
C# 基本語法、變數.
CH05. 選擇敘述.
挑戰C++程式語言 ──第8章 進一步談字元與字串
VS.NET 2003 IDE.
LINQ資料查詢技術.
如何使用Gene Ontology 網址:
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
樣版.
Ch09. 類別、結構與列舉.
OOP9 類別Class.
函數應用(二)與自定函數.
陣列與結構.
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
資料表示方法 資料儲存單位.
C# 匿名委派 + Lambda + Func 建國科技大學 資管系 饒瑞佶.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
資料結構 老師:李崇明 助教:楊斯竣.
資料結構 老師:李崇明 助教:楊斯竣.
多國語系 建國科技大學 資管系 饒瑞佶.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
SQLite資料庫 靜宜大學資管系 楊子青.
Chapter 4 Multi-Threads (多執行緒).
13 繼承類別 13.1 繼承概論 基礎類別與衍生類別 繼承型式 13-2
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

類別、物件與方法 的設計運用

類別與物件是最核心的部分 定義類別 實體化成物件 可執行的程式區塊單位~「方法」

物件導向之意義 物件導向是以物件為導向(或說思考單位),每一個元素都是物件(Object),例如:函式、類別、命名空間…等等都是物件。 物件與物件之間可以重複使用,如果有不同的地方,也可以透過繼承、多型、介面的方式創造一個新的物件來使用它; 故物件導向可以支援可重複使用(Reuse)的模組,讓新的物件可以延續既有物件的性質, 卻又能自行再作其他的調適與變化,就是利用繼承性可以避免相同的資訊重複出現及發生。

物件導向之所以被重視,是因為它解決二個很重要的問題: 增加程式碼的可重複使用性 降低系統維護的負擔 將具備獨立性特質的程式碼包裝起來成一個物件, 視情況需要而彈性修改部份的程式碼

類別與物件 類別(Class)與物件(Object) 此外,類別是物件導向程式中的最小單位, 類別是程式的設計藍圖 而物件則是將此藍圖具體化 所有的欄位、屬性、方法、事件等等程式,都必須定義在類別中。

類別 C#本身為物件導向的語言,最簡單的觀察與印證方式就是隨便開啓一個WebForm表單的Code-Behind檔,裡面的程式都會有class關鍵字。 「_Default」這個類別繼承自Page類別 類別 類別之繼承

類別之宣告與類別成員 類別正式的定義: C# 類別的宣告語法如下: 包含資料成員(常數和欄位) 函式成員(方法、屬性、事件、索引子、運算子、執行個體建構函式、解構函式和靜態建構函式) 巢狀型別 C# 類別的宣告語法如下: 類別修飾詞 class 類別名稱 { //類別成員… //欄位 //屬性 //方法 //…其他 }

類別修飾詞 宣告類別時,多半會在類別名稱之前加上public或private一詞,它們就是屬於修飾詞的一種。

類別成員

物件 將類別進行實體化或個體化(instantiated) CLR才會為這個實體化物件配置記憶體空間 讓個體具備執行能力,而這個體化就稱之為「物件」。 C# 類別從宣告到執行的過程大致如下: Class類別宣告類別進行實體化CLR配置實際電腦記憶體空間給類別物件具備執行程式能力的實體物件

類別的建構函式(Constructor) 預設建構函式的作用,就是在初始化一個類別時,必須執行的基本工作 People Mary=new People(); //預設建構函式 public People() { lastName = null; firstName = null; age = 0; height = 0; weight = 0; gender = false; }

方法 方法並不是什麼新鮮的概念,在許多程式語言中早就存在了,如函式(function)、副程式(subroutine)、程序(procedure)、子程式(subprogram)等等。 所謂的方法(Method)就是由程式碼所組成的區塊(Block),並賦予這個程式區塊一個名稱,且可重複呼叫使用此方法。 將程式做功能性的區分,把程式寫成許多較小的功能性的單位(方法),程式主體再去呼叫各個功能性的單位。

方法之定義與使用 方法定義的語法型式如下: 以上方法定義中主要有四個部分: 成員存取修飾詞 回傳值型別 方法名稱(參數型態 參數) { 成員存取修飾詞:主要有public、private、protected、internal四種。 回傳值型別:方法在運算過後,若回傳值是字串,則回傳值型別必須指定為string,若回傳值為整數,則回傳值型別必須指定為int。 方法名稱:就是方法的名字。 參數:參數部分是選擇性的,如果方法沒有接受參數,就不需要定義;若方法需要接受參數的話,則可指定一到多個參數。 成員存取修飾詞 回傳值型別 方法名稱(參數型態 參數) { 程式碼… }

方法參數的宣告與使用 方法宣告參數 方法若要宣告參數,可在方法名稱後的小括號中加入參數: 下面是一個Add方法使用參數的例子: 方法名稱(參數型別 參數名稱1, 參數型別 參數名稱2, …) { 程式碼內容 … } 下面是一個Add方法使用參數的例子: public int Add(int a, int b) { return a+b; }

排序

選擇排序(Selection sort) 每一回合都挑選最小的資料放到最前面。 也就是先將最小的放到第一個位置,次小的放在第二個位置,第三小的放第三個位置,依此類推。 O(n2);穩定性排序。 Input 18 2 20 34 12 第1回合 第2回合 第3回合 第4回合

選擇排序法

選擇排序法

氣泡排序(Bubble sort) 又稱為交換排序(interchange sort)。 如果是由小排到大,每次都只將相鄰的兩個資料做比較,假使前一個比後一個大時,則互相對調。 第一回合要做n-1次的比較,但每做完一回合,在下次就可以少一次的比較,直到全部比完為止。 Input 18 2 20 34 12 第1回合 第2回合 第3回合 第4回合 O(n2);穩定性排序。

插入排序(Insertion sort) 從第二個資料開始,每次考慮一資料,並依序插入其前面適當的位置。 O(n2);穩定性排序。 Input 45 39 12 25 30 第1回合 第2回合 第3回合 第4回合

本章結束