第8天:類別與物件
課程簡介
今天,我們將深入探討「類別」和「物件」這兩個核心概念。在物件導向程式設計(OOP)中,類別是建構物件的藍圖,定義了物件的屬性(特徵)和方法(行為)。物件則是類別的具體實例,是程式中可操作的實體。透過這堂課程,您將學習如何定義類別和建立物件,並瞭解如何利用這些概念來構建程式。
學習目標
- 瞭解類別與物件的概念
- 學會定義類別並建立物件
- 瞭解屬性與方法的應用
- 學習如何使用建構函數來初始化物件
課程內容
1. 類別的基本概念
類別(Class)是物件的模板或藍圖,定義了物件的屬性和方法。在 C# 中,我們使用 class
關鍵字來定義類別,並在類別中設定屬性和方法。例如,可以定義一個 Car
類別,包含屬性(如顏色和速度)和方法(如加速和煞車)。
1
2
3
4
5
6
7
8
9
10
public class Car
{
public string Color;
public int Speed;
public void Drive()
{
Console.WriteLine("The car is driving.");
}
}
2. 物件的基本概念
物件(Object)是從類別生成的具體實例,是類別的具象化。物件透過 new
關鍵字來創建,並存取類別中定義的屬性和方法。例如:
1
2
3
4
Car myCar = new Car();
myCar.Color = "Red";
myCar.Speed = 120;
myCar.Drive();
在此範例中,myCar
是 Car
類別的一個物件實例,可以透過此物件存取 Car
類別中的屬性 Color
和方法 Drive
。
3. 屬性與方法
類別包含兩種成員:屬性(Properties)和 方法(Methods)。
屬性
屬性用於描述物件的特徵,通常用於儲存物件的資料。例如:
1
2
3
4
5
public class Car
{
public string Color;
public int Speed;
}
在此範例中,Color
和 Speed
是 Car
類別的屬性。
方法
方法用於定義物件的行為,是物件執行的動作。例如:
1
2
3
4
public void Drive()
{
Console.WriteLine("The car is driving.");
}
在此範例中,Drive
方法定義了 Car
類別的行為,當呼叫此方法時,車輛開始行駛。
4. 使用建構函數初始化物件
建構函數是一種特殊的成員方法,在創建物件時自動呼叫,用於初始化物件的屬性。建構函數的名稱與類別名稱相同,且不包含回傳類型。
預設建構函數
若未定義建構函數,C# 會自動提供一個預設建構函數。
自訂建構函數
可以透過自訂建構函數來指定初始值:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Car
{
public string Color;
public int Speed;
// 自訂建構函數
public Car(string color, int speed)
{
Color = color;
Speed = speed;
}
public void Drive()
{
Console.WriteLine("The " + Color + " car is driving at " + Speed + " km/h.");
}
}
// 使用建構函數初始化物件
Car myCar = new Car("Blue", 100);
myCar.Drive();
此範例中的建構函數 Car(string color, int speed)
用於創建物件時初始化 Color
和 Speed
屬性。
5. 存取修飾詞
在 C# 中,存取修飾詞用於控制類別成員(屬性和方法)的可見性。常用的修飾詞包括:
public
:公開成員,類別內外皆可存取。private
:私有成員,僅限於類別內部存取。protected
:受保護成員,可由同一類別或繼承的子類別存取。
範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Car
{
public string Color; // 公開屬性
private int Speed; // 私有屬性
public Car(string color, int speed)
{
Color = color;
Speed = speed;
}
public void DisplaySpeed()
{
Console.WriteLine("The speed of the car is " + Speed + " km/h.");
}
}
實作練習
- 創建類別並建立物件
- 在
Program.cs
檔案中新增以下程式碼:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
using System; class Program { static void Main(string[] args) { Car myCar = new Car("Green", 80); myCar.DisplaySpeed(); } } public class Car { public string Color; private int Speed; public Car(string color, int speed) { Color = color; Speed = speed; } public void Drive() { Console.WriteLine("The " + Color + " car is driving."); } public void DisplaySpeed() { Console.WriteLine("The speed of the car is " + Speed + " km/h."); } }
- 在
- 執行程式
- 使用以下指令來執行程式並觀察輸出:
1
dotnet run
- 查看輸出,確認
myCar
物件的DisplaySpeed
方法的輸出是否符合預期。
- 使用以下指令來執行程式並觀察輸出:
教學重點
- 了解類別和物件的基本概念。
- 建立並初始化物件。
- 使用屬性和方法來操作物件。
- 瞭解建構函數的作用及其應用。
在下一節中,我們將進一步學習類別的進階功能,如屬性設定方法(get 和 set)、靜態成員(Static Members)等。