Site icon Build School Blog

C#學習筆記 – 物件與類別(1)

blue retractable pen

Photo by Lukas on Pexels.com

在學習C#的路上一定會遇到一個名詞叫做「物件導向設計原則」,這個原則描述了如何以「物件」作為程式的基本設計單位,透過物件之間互動的行為,來完成所需要的功能。而不是只利用多個「函式」集合對電腦下達指令。


Photo by AltumCode on Unsplash

在討論物件之前,先來撰寫一個計算BMI的程式,這個程式有幾個功能:

  1. 可以輸入姓名、身高以及體重
  2. 輸入完之後,電腦會計算BMI值
  3. 計算完BMI後,顯示計算結果,結果包含姓名以及BMI值

依據這個需求我們可以先來寫一個C#的主控台應用程式

我們也可以將計算BMI後顯示資訊的部分撰寫成「方法」,如下:

用上面的「方法」來把計算並顯示BMI的邏輯與主程式區塊拆開,如此一來可以很快速地知道我們的在撰寫的功能是什麼,以及可以重複使用此方法。

思考一下

很明顯的,BMI公式目前只適用在人類身上,但目前的程式並不一定只有「人類」可以使用,只要給定ShowBMI方法符合的參數(字串及浮點數)時,就也是會被執行。如此一來,是不是任何東西都可以使用ShowBMI呢?

為什麼使用物件導向的設計?

根據上面的例子,你的程式碼就變成並不是只有「人類」可以使用ShowBMI,如果說今天ShowBMI只想計算「人類」呢?

今天人類除了有ShowBMI之外,是不是也可以有其他的特徵或行為呢?

如何設計物件導向的程式?

所以物件是什麼?

這裡的物件並不單只是在講程式世界裡面的物件,而是在討論在我們的世界中,物件究竟是什麼?

如何製造物件?

來設計Person類別吧

寫在Person內的Name、Height、Weight是類別的屬性,這部分我們會在之後提及。

接著在Program類別內,新增ShowBMI方法

在Main方法內新增以下程式碼

查看結果

物件 vs 類別

小結

如此一來,我們的ShowBMI方法,現在傳入的參數就變成「Person」物件,也就是限制了只有Person可以使用這個方法,透過Person類別產生Person的執行個體(Person物件)。

下一篇我們會討論類別的成員,像是上面Person類別內的Name、Height、Weight,這些只是類別的其中一種成員,還有許多成員我們就等下一篇再利用Person類別來介紹囉!

本文同步發布在:C#學習筆記 - 物件與類別(1)
若對內容有任何疑問或內容有錯誤,
歡迎來信: andyhuang@build-school.com
Andy Huang

PM・Software Engineer・Student Coach @BuildSchool

Exit mobile version