using System;
class OutputClass
{
private string myString;
// 帶參數建構子
public OutputClass(string input) => myString = input;
// 實例方法
public void PrintString() => Console.WriteLine(myString);
// 解構子
~OutputClass()
{
// 清理非受控資源
}
}
class ExampleClass
{
public static void Main()
{
var obj = new OutputClass("This is printed by the output class.");
obj.PrintString();
}
}
public OutputClass() : this("Default") { } 透過 this 呼叫另一建構子,避免重複初始化邏輯。static OutputClass() { ... },在第一次建立實例/存取靜態成員/衍生類靜態建構子前執行一次,用於初始化靜態欄位。| 特性 | 實例成員 | 靜態成員 |
|---|---|---|
| 存取方式 | instance.Member | TypeName.Member |
| 記憶體 | 每個實例獨有 | 全域單一份 |
| this 可用性 | 可用 | 不可用 |
| 典型用途 | 物件狀態、行為 | 工具方法、常數、單例 |
// 靜態方法範例
public static void StaticPrinter() => Console.WriteLine("Only one copy.");
// 呼叫
OutputClass.StaticPrinter();
~ClassName() { ... } (編譯為 Finalize() 覆寫)。IDisposable + Dispose() 確定性釋放,解構子作為安全網。後續課程將逐一介紹屬性、索引器、委派、事件。