[C#][Visual Studio] 類別與物件(class and object)

文章推薦指數: 80 %
投票人數:10人

前面幾個章節,我們逐一介紹C# 程式語言基礎內容,在這一個章節將要介紹類別(class)。

對於當時是初學者的我來說,雖然會建構與使用類別,但如何正確 ... Duran的技術冶煉廠 Home 關於我 首頁「C#基礎課程」[C#][VisualStudio]類別與物件(classandobject) [C#][VisualStudio]類別與物件(classandobject) DuranHsieh 星期四,11月02,2017 前言 前面幾個章節,我們逐一介紹C#程式語言基礎內容,在這一個章節將要介紹類別(class)。

對於當時是初學者的我來說,雖然會建構與使用類別,但如何正確命名、使用並區分類別卻是一個很大困擾,直到累積了一些工作經驗與看了許多書,才大概知道怎麼撰寫程式比較合理。

在這一篇,我們將簡單介紹類別,若有錯誤或任何建議,請各位先進不吝指教。

關鍵字:存取修飾詞、建構函式、屬性與欄位、DTO、方法、在VisualStudio加入類別 介紹 類別(class)像是一張設計圖,你可以在類別內規劃你的程式。

您能夠過關鍵字class建構類別,如下圖所示: 存取修飾詞 表示其他程式或組進是否能夠存取該類別,存取修飾詞大致上可以分成: public  可以讓所有程式碼存取 private 相同類別內存取 protect 相同類別或延伸該類別之子類別使用 internal只能由相同組件內程式碼存取 當完成設計圖(類別),您必須要初始化執行個體,讓他執行你的計劃,這個執行個體我們稱為物件。

若不是靜態類別(Static),你必須透過new這個關鍵字初始化你的物件。

一個較複雜的類別包含許多成員,包含:建構函式(Constructor)、屬性(Properties)、欄位(Field)與我們先前介紹的方法(Method)...等,如下圖所示。

建構函式 與方法類似,當初始化時,您可能會需要需要帶入的參數讓你的程式可以運作,這個時候我們會需要它。

註:您的類別可以沒有建構函式,意味著初始化物件時不需要帶入參數。

註:與方法相似,您可以依據數量不同的參數,有多個建構函式。

屬性與欄位 在物件中使用的時候,就像一般變數使用(物件.屬性或物件.欄位,請確認您的存取修飾子),其實兩者沒有太大差異。

不同的是對於物件進行操作時,屬性提供較多的控制方式讓程式設計師使用;另外,屬性在子類別繼承的時候,可以視情況進行改變。

下面的範例為簡單的屬性操作: classProgram { staticvoidMain(string[]args) { Employeeemployee=newEmployee(); employee.TitleWithName="DeveloperDuran"; Console.WriteLine($"{employee.TitleWithName}"); } } publicclassEmployee { privatestringName; publicstringTitleWithName { get{return"AFT"+Name;} set{Name=value;} } } 註:有一種物件我們稱之為資料傳輸物件(datatransferobject,DTO),這個類別內只有屬性,沒有其他任何成員。

主要目的在於資料介接的時候使用。

例如:WebAPIrequest與response物件。

方法 方法部分則與先前章節介紹無異,你可以參考這篇。

初始化物件後,使用屬性、欄位與方法如下(請確認您的存取修飾子是否為public): Employeeemployee=newEmployee(); intsalary=employee.GetEmployeeSalaryById("Duran"); 重要: 若您操作物件過程中有一連串的方法,你應該要分開撰寫,避免火車鏈結(TrainWrecks)情況發生,增加可讀性 重要: 若您的操作物件是取得的內容為資料結果(一連串的屬性與欄位存取),您可以寫在一起 在VisualStudio建立類別 Step1.在任一專案點選右鍵->加入->新增項目 Step2.選擇類別->輸入名稱->點選新增按鈕 Step3.先加上存取修飾子 Step3.依序加入建構函式、成員..等。

Step4.初始化並使用 小技巧: 撰寫類別過程中,建立屬性(property)時,可以輸入prop後連續按下2次tab鍵,即可自動產生屬性樣板。

接著可以更改型態->tab->屬性名稱,藉此加快建立屬性。

上一篇:[C#][VisualStudio]例外處理(Exception) 下一篇:[C#][VisualStudio]擴展方法(Extendmethod) 參考資料 1.類別(C#參考)-Microsoftdocs 2.類別(C#程式設計手冊)-Microsoftdocs 3.存取修飾詞(C#程式設計手冊)-Microsoftdocs 「C#基礎課程」 CSharp VisualStudio 張貼者: DuranHsieh 喜歡健身、程式設計、攝影、貓狗與接觸新事物,請多指教! 你可能會喜歡這些文章 張貼留言 0 留言 關注Duran 社群與出版書籍 動手學GitHub!現代人不能不知道的協同合作平台 2016-2018VisualStudioandDevelopmentTechnologies  2019DeveloperTechnologies  Facebook Duran&Ina程式工坊 Categories 「ASP.NetMVC基礎課程」 (15) 「AzureAppService基礎課程」 (12) 「AzureSQLDatabase基礎課程」 (5) 「AzureStorage基礎課程」 (9) 「C#基礎課程」 (15) 網誌目錄 慢跑與健身(2) 旅遊與登山(19) 烹飪(6) 食記(8) 程式設計(287) 美工與網站管理(2) 所有文章列表(325) 總網頁瀏覽量 網站連結 Duran的速寫筆記 線上工具箱 MyEnglishBlog Alantasi的隨手筆記 EK.TechnologyLearn SecretNote|機密檔案-Jimmy 五餅二魚工作室 Pete'sDevLife 天空的垃圾場 小菜一碟 維持熱情不滅-AlanLiu 遜砲賴的爆肝筆記 外星人的攝影入門 個人-Duran'sdotblog 贊助 Buymeacoffee 網站標籤 Android (6) ASP.Net (12) ASP.NetCore (8) ASP.NETMVC (22) Azure (49) AzureDevOps (21) ContinuousIntegration (10) CSS (8) Database (28) Gulp (9) Hackathon (2) Java (15) JavaScript (3) Node.js (2) Sass (6) Stresstesting (8) Unittest (2) VisualStudio (35) Windows (16) Xamarin (3) 追蹤者 FooterMenuWidget Home About Copyright© Duran的技術冶煉廠 Contactform



請為這篇文章評分?