C# - 類別:初學者指南
您好,未來的程序员們!今天,我們將踏上一段令人興奮的旅程,進入 C# 類別的世界。別擔心如果你之前從未編過程式碼——我將成為你友善的導遊,一步一步地解釋一切。那麼,讓我們 diving 吧!
什麼是類別?
在我們開始之前,讓我們先了解類別是什麼。將類別想像成創建對象的藍圖。這就像是一個餅乾模具,它定義了你要製作的餅乾的形狀和特徵。在編程中,類別定義了該類別對象將具有的屬性和行為。
定義類別
讓我們從創建一個簡單的類別開始。我們將創建一個 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!");
}
}
現在,name
和 age
是私有的,我們通過公共屬性訪問它們。這使我們能夠添加像確保年齡永遠為正數這樣的邏輯。
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);
}
}
現在,每次我們創建一個新的 Dog
,DogCount
將會增加。我們可以隨時調用 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