試煉29 - 自訂 class 番外篇 Object 一切的開始

2022 鐵人賽文 搬回點部落

開始試煉

連續講了許多自訂 class 想到其實 Object 也很值得提一下
先來看code

class Employee
{

}
static void Main(string[] args)
{
    var a = new Employee();
}


請問 為何啥都沒有的Employee 就有四個方法可以呼叫呢
其實就是Object提供的
 


可以看到VS2022 你打上 System.Object 會變暗
就表示其實你可以不需要打

在C# 的世界中 所有物件都是繼承System.Object
然後來看看 Object提供的四個方法有何用途吧

Equals (可以override)

之前有提到過 就是定義相等

GetType

就是取得 該物件的Type class 也是反射的起手式

ToString (可以override)

將物件變成文字
 


所以預設會是 Type 名稱

GetHashCode (可以override)

就是算出該物件的唯一數字
可以用int 測試看看 你int的數值多少 GetHashCode 就會是多少
 

知道這四個方法的來源後
再回去看自訂方法class 的應用 會有清楚一點吧

結束試煉

明天就是最後一個試煉了 30天快要結束了

如果內容有誤請多鞭策謝謝