[C#][Visual Studio] 類別與物件(class and object)
文章推薦指數: 80 %
前面幾個章節,我們逐一介紹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
延伸文章資訊
- 1C# 入門指南- 單元10 - 類別 - 程式語言教學誌
類別最基本的就是定義欄位(field) 以及方法(method) ,例如 class Demo { public string M; public string DoSomething(stri...
- 2類別
了解類別類型和其建立方式. ... 本文內容. 參考型別; 宣告類別; 建立物件; 類別繼承; 範例; C# 語言規格. 參考型別. 定義為的 class 類型是 class 別 ...
- 3DAY 10 類別 - iT 邦幫忙::一起幫忙解決難題,拯救IT 人的一天
「類別」是C# 最基本的型別。 類別是以單一單位結合狀態(欄位) 和動作(方法及其他函式成員) 的資料結構。 類別可以為動態建立的類別「執行個體」(稱為「物件」) 提供 ...
- 4C# 類別物件的宣告與使用 - 程式語言教學- 痞客邦
則該類別變數的宣告式,就是:. 類別名稱 類別物件名稱 = new 類別名稱(參數一之值, 參數二之值…); ※ 若程式設計者沒有設定類別建構式,則C#會預設 ...
- 5[C#][Visual Studio] 類別與物件(class and object)
前面幾個章節,我們逐一介紹C# 程式語言基礎內容,在這一個章節將要介紹類別(class)。對於當時是初學者的我來說,雖然會建構與使用類別,但如何正確 ...