今次的內容主要為10/23日上午課程的教學
最主要是教「物件導向」的基本概念,原本有一小部分的內容是10/22教到
不過因為都是同觀念,所以本人把同觀念的都放到本篇來撰寫
裡面有些重複地之前講過,會把我之前寫的文章放在裡面
=====================================================================
C#是屬於微軟開發出的「物件導向」程式語言
物件導向這類程式語言的優點在於:維護容易、再用性高、可靠度佳
發揮物件導向系統優點的作法:製作類別、包含關係、繼承/多型關係、泛型
首先我們先了解下類別和物件的概念
類別就像是個描述物件藍圖,物件則是類別的實體
物件具有:Identity(獨一無二的代碼,物件的參考)、方法(可執行功能)、狀態(資料)
=====================================================================
封裝
結合資料和方法就是封裝,請參考下列網址「靜態方法」的部分
=====================================================================
製作類別
這是個簡單的自定義類別,你可以在裡面塞多種方法和資料
方法通常設成 public,資料通常設成 private
建立物件
宣告類型型態的變數不代表建立物件,必須使用 new 執行建立物件的動作
this
防衛性的撰寫程式習慣,用來解決類別內的方法與資料的名稱衝突
=====================================================================
繼承
類別的繼承要是沒設置,就是繼承基底類別 System.Object(預設的 Program 就是如此)
設置類別時在宣告的名稱打上冒號,並輸入你要繼承的類別
這樣一來你就可以使用該類別的資料和方法(前提是該方法或資料是 public)
補充一點,C#僅支援單一繼承,子類別沒辦法繼承多個父類別
改寫與多型
如圖所示,我在父類別裡的方法前補上 virtual(個人翻為「虛擬」方法)
這樣一來就能在繼承的子類別內補上 override 改寫指定的方法
當我呼叫這個方法時,就會執行改寫過的方法
=====================================================================
介面
介面並非類別,而一個類別可以繼承多個介面
宣告介面的名稱開頭最好補上 I 以區別類別
在介面內不可設置變數、不可加修飾子、方法內不可寫程式
=====================================================================
基本上「物件導向」的基礎概念大概就到這為止
至於當天下午的課程是「遊戲製作管理」,日後再慢慢補上就是了