.NET Framework の全てのクラスは System.Object から派生したクラスです。
これにより、全ての型は Object 型に変換することが可能だといえます。
この System.Object 型から派生したクラスは、 Object クラスで定義されている全てのメソッドを使用することができます。
派生クラスでは、これらのメソッドのうち、次のメソッドをオーバーライドすることができます。
- Equals - オブジェクトの比較をします。
- Finalize - オブジェクトが自動的に収集される前に、クリーンアップ操作を実行します。
- GetHashCode - ハッシュテーブルを使用できるようにするため、オブジェクトの値に対応する番号を生成します。
- ToString - クラスのインスタンスの説明テキスト文字列をユーザーが判読できる形で生成します。
ToString() メソッドをオーバーライドした例を記述します。
// 基底クラスでは次のように宣言されています。
// public virtual string ToString ()
class Sample
{
public override string ToString()
{
return "こんにちは~。";
}
}
class MyClass
{
static void Main()
{
Sample obj = new Sample();
Console.WriteLine(obj.ToString());
Console.WriteLine(obj); // ToString() は省略可能です。
}
}