c#を攻略しよう

c#

objectクラス

objectクラスは、すべてのクラスとすべての値型、参照型の基本クラスです。すべてのクラスと型は、objectクラスを継承しています。
  objectクラスでは、主に以下のようなメソッドが定義されています。objectクラスを継承するすべてのクラス、型は、このメソッドを呼び出すことができます。

[TOP]

 

bool Equarls(object) 引数内のオブジェクトと等しいかどうか
int GetHashCode( ) オブジェクトに関連付けられたハッシュコードを返す
Type GetType( ) オブジェクトのタイプを返す
string ToString( ) オブジェクトを表す文字列を返す

objectクラスの特徴を説明する前に、オブジェクト間の関係について簡単に説明します。

class X
{
        // 省略
}

class Y
{
        // 省略
}

class main_program
{
   public static void Main( ){
       X x = new X( );
       Y y = x; // まったく異なるオブジェクトを代入できない。
    }
}

オブジェクトx と オブジェクトyは、まったく異なるクラスのオブジェクトですので、それぞれの参照変数を代入することはできません。

しかし、

class X
{
        // 省略
}

class Y : X
{
        // 省略
}

class main_program
{
   public static void Main( ){
       Y y= new y( );
       X x= y; // YはXを継承しているので、代入できる。
    }
}

YはXを継承しているので、xに参照変数yを代入することができます。ただし、xは基本クラスXのメソッドは呼び出せるが、派生クラスYのメソッドを呼び出すことはできません。

この特徴を利用すると、次のようなことが出来ます。

class main_program
{
   public static void Main( ){
       int x = 5;
       object y = x; // intはobjectを継承しているので、代入できる。
       int z = (int)y;
    }
}

objectクラスyを経由して、int型zに5を代入することができます。

objectクラスは、NetFrameworkの中でも、時々出てきます。
objectクラスは、すべての型とクラスの基本クラスであり、すべての型とクラスを参照できるということを覚えておくとよいでしょう。

戻る

※当サイトは、リンクフリーです。