C#のObjectクラスとは?全クラスの基底クラスと主要メソッドを徹底解説
C#におけるObjectクラスは、すべてのクラスの継承階層において最も上位に位置する基底クラス(ルートクラス)です。C#で定義されるあらゆる型は、明示的に指定しなくても自動的にObjectクラスを継承しており、そのためすべてのオブジェクトはObjectクラスが提供するメソッドを利用できます。
Objectクラスの主なメソッド一覧
Objectクラスには、以下のような重要なメソッドが用意されています。
| 番号 | メソッドと説明 |
|---|---|
| 1 | Equals(Object) 指定されたオブジェクトが、現在のオブジェクトと等しいかどうかを判定します。 |
| 2 | Equals(Object, Object) 指定された2つのオブジェクトインスタンスが等しいと見なされるかどうかを判定します。 |
| 3 | Finalize() ガベージコレクションによってオブジェクトが回収される前に、オブジェクトが保持しているリソースを解放できるようにします。 |
| 4 | GetHashCode() 既定のハッシュ関数として機能し、オブジェクトに対応するハッシュコードを返します。 |
| 5 | GetType() 現在のインスタンスの正確なランタイム型(Type)を取得します。 |
| 6 | MemberwiseClone() 現在のオブジェクトの簡易コピー(シャローコピー)を作成して返します。 |
| 7 | ReferenceEquals(Object, Object) 指定された2つのオブジェクトインスタンスが同一のインスタンス(同じ参照)であるかどうかを判定します。 |
| 8 | ToString() 現在のオブジェクトを表す文字列を返します。 |
C#でクラスのオブジェクトを作成する例
それでは、実際にC#でクラスを定義し、そのオブジェクト(インスタンス)を作成して利用する方法を見てみましょう。以下のサンプルでは、基底クラス「Demo」を継承した派生クラス「Test」からオブジェクトを生成しています。
サンプルコード
using System;
namespace MyApplication {
class Demo {
protected string name = "Website";
protected void Display(string str) {
Console.WriteLine("Tabs: " + str);
}
}
class Test : Demo {
static void Main(string[] args) {
Test t = new Test();
Console.WriteLine("Details: " + t.name);
t.Display("Product");
t.Display("Services");
t.Display("Tools");
t.Display("Plugins");
}
}
}実行結果
Details: Website Tabs: Product Tabs: Services Tabs: Tools Tabs: Plugins
コードのポイント
new Test()によって、Testクラスの新しいインスタンス(オブジェクト)が生成されます。- TestクラスはDemoクラスを継承しているため、protectedメンバーである
nameフィールドやDisplayメソッドにアクセスできます。 Mainメソッド内で、フィールドの値を出力した後、Displayメソッドを複数回呼び出して文字列を表示しています。
このように、C#では継承を活用することで、基底クラスの機能を再利用しながら柔軟なプログラムを構築できます。また、すべてのクラスがObjectクラスを継承しているため、ToString()やEquals()などの基本メソッドを必要に応じてオーバーライドし、独自の動作を実装することも可能です。
-
JavaScriptのImage()オブジェクトとは?使い方とサンプルコードを解説
JavaScriptにおけるImage()オブジェクトは、HTMLの<img>要素を表すオブジェクトです。このオブジェクトを使うことで、JavaScriptから動的に画像を生成し、Webページに追加することができます。Image()コンストラクタには、引数として画像の幅と高さをピクセル単位で指定できます。また、生成した画像オブジェクトのsrcプロパティに画像のURLを設定することで、画像を読み込むことが可能です。Image()オブジェクトの基本的な使い方以下は、JavaScriptでImage()オブジェクトを使用するサンプルコードです。コード例<!DOCTYPE html&
-
Rubyオブジェクトモデルを詳細に理解する
ウィキペディアによると、オブジェクト指向プログラミング(OOP)は、「オブジェクト」の概念に基づくプログラミングパラダイムであり、データとコードを含めることができます。フィールド形式のデータ(多くの場合、属性またはプロパティと呼ばれます)と形式のコードです。手順の(多くの場合、メソッドとして知られています)。 Rubyは純粋なオブジェクト指向言語です。つまり、Ruby言語では、すべてがオブジェクトです。これらのオブジェクトは、文字列、数値、クラス、モジュールなどであるかどうかに関係なく、オブジェクトモデルと呼ばれるシステムで動作します。 。 Rubyはobject_idと呼ばれるメソッドを