C# - 類別:初學者指南

您好,未來的程序员們!今天,我們將踏上一段令人興奮的旅程,進入 C# 類別的世界。別擔心如果你之前從未編過程式碼——我將成為你友善的導遊,一步一步地解釋一切。那麼,讓我們 diving 吧!

C# - Classes

什麼是類別?

在我們開始之前,讓我們先了解類別是什麼。將類別想像成創建對象的藍圖。這就像是一個餅乾模具,它定義了你要製作的餅乾的形狀和特徵。在編程中,類別定義了該類別對象將具有的屬性和行為。

定義類別

讓我們從創建一個簡單的類別開始。我們將創建一個 Dog 類別,因為,好吧,誰不愛狗呢?

public class Dog
{
// 類別成員放在這裡
}

這是一個類別的基本結構。public 關鍵字意味著這個類別可以被程序的其他部分訪問。在大括號 {} 內,我們將定義類別成員。

添加屬性

屬性就像是我們狗的特徵。讓我們添加一些:

public class Dog
{
public string Name;
public int Age;
public string Breed;
}

現在,我們的 Dog 類別有名字、年齡和品種。這些被稱為類別的字段或屬性。

成員函數和封裝

成員函數(或方法)是我們的狗可以執行的動作。讓我們添加一個方法讓我們的狗吠叫:

public class Dog
{
public string Name;
public int Age;
public string Breed;

public void Bark()
{
Console.WriteLine("Woof! Woof!");
}
}

Bark 方法是一個簡單的動作,它會將 "Woof! Woof!" 打印到控制台。

封裝

封裝就像將你的狗的特徵放在一個保護性的氣泡中。這是一種控制訪問類別成員的方式。讓我們修改我們的類別以使用封裝:

public class Dog
{
private string name;
private int age;
public string Breed { get; set; }

public string Name
{
get { return name; }
set { name = value; }
}

public int Age
{
get { return age; }
set
{
if (value > 0)
age = value;
}
}

public void Bark()
{
Console.WriteLine("Woof! Woof!");
}
}

現在,nameage 是私有的,我們通過公共屬性訪問它們。這使我們能夠添加像確保年齡永遠為正數這樣的邏輯。

C# 构造函数

構造函數是一個特殊的函數,當你創建類別的新實例時會調用它。這就像是你第一次得到狗時設置你的狗。讓我們為我們的 Dog 類別添加一個構造函數:

public class Dog
{
// ... 前面的代碼 ...

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
}
}

現在我們可以這樣創建一個新狗:

Dog myDog = new Dog("Buddy", 3, "Labrador");

C# 析构函数

析构函数是在不再需要對象時清理資源的方法。在 C# 中,它們很少使用,因為垃圾回收器處理内存管理。但為了完整性,這是您如何定義它:

public class Dog
{
// ... 前面的代碼 ...

~Dog()
{
Console.WriteLine("Goodbye, " + Name + "!");
}
}

當狗對象被垃圾回收器銷毀時,這個析构函数將被調用。

C# 類別的靜態成員

靜態成員屬於類別本身,而不是任何特定實例。它們被類的所有實例共享。讓我們添加一個靜態成員來跟踪我們已經創建了多少狗:

public class Dog
{
// ... 前面的代碼 ...

public static int DogCount = 0;

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
DogCount++;
}

public static void ReportDogCount()
{
Console.WriteLine("總共的狗數量: " + DogCount);
}
}

現在,每次我們創建一個新的 DogDogCount 將會增加。我們可以隨時調用 Dog.ReportDogCount() 來查看我們已經創建了多少狗。

組合所有內容

讓我們在一個程序中使用我們的 Dog 類別:

class Program
{
static void Main(string[] args)
{
Dog dog1 = new Dog("Buddy", 3, "Labrador");
Dog dog2 = new Dog("Max", 5, "German Shepherd");

Console.WriteLine(dog1.Name + " 是一隻 " + dog1.Breed);
dog1.Bark();

Console.WriteLine(dog2.Name + " 是 " + dog2.Age + " 歲");
dog2.Bark();

Dog.ReportDogCount();
}
}

這個程序創建了兩隻狗,顯示它們的信息,讓它們吠叫,並報告創建的狗的總數。

結論

恭喜你!你剛剛學會了 C# 類別的基本知識。我們已經介紹了定義類別、添加屬性和方法、使用構造函數和析构函数,甚至觸及了靜態成員。記住,熟能生巧,所以嘗試創建你自己的類別,並實驗不同的屬性和方法。

這裡是一個總結我們討論的主要方法的表格:

方法 描述
Constructor 初始化類別的新實例
Destructor 在對象被銷毀時清理資源
Bark() 讓狗吠叫
ReportDogCount() 報告創建的狗的總數

繼續編程,很快你就能輕鬆地創建複雜的程序。學習愉快!

Credits: Image by storyset