C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のオブジェクトとは?クラスとの違いと基本的な使い方を解説

C#のオブジェクトとは

他のオブジェクト指向言語と同様に、C#にも「オブジェクト」と「クラス」という重要な概念があります。オブジェクトとは現実世界の実体(エンティティ)を表現するものであり、クラスから生成されるインスタンスです。クラスが設計図であるのに対し、オブジェクトはその設計図をもとに実際に作り上げられた実体と言えます。

クラスのメンバー(フィールドやメソッド)には、オブジェクトを通じてアクセスします。

ドット(.)演算子によるメンバーアクセス

クラスのメンバーにアクセスするには、オブジェクト名の後にドット(.)演算子を使用します。ドット演算子は、オブジェクト名とメンバー名を結び付ける役割を果たします。

まず、newキーワードを使ってオブジェクトを生成します。

Box b1 = new Box();

上記のコードでは、「b1」がBoxクラスのオブジェクトです。このオブジェクトを使って、クラスのメンバーにアクセスできます。

フィールドへ値を代入する場合:

b1.height = 7.0;

メソッド(メンバー関数)を呼び出す場合:

b1.getVolume();

サンプルプログラム

以下は、C#におけるオブジェクトとクラスの動作を示すサンプルコードです。Boxクラスを定義し、2つのオブジェクトを生成して、それぞれの体積を計算・表示しています。

コード例

using System;

namespace BoxApplication {
    class Box {
        private double length;   // 箱の長さ
        private double breadth;  // 箱の幅
        private double height;   // 箱の高さ

        public void setLength(double len) {
            length = len;
        }

        public void setBreadth(double bre) {
            breadth = bre;
        }

        public void setHeight(double hei) {
            height = hei;
        }

        public double getVolume() {
            return length * breadth * height;
        }
    }

    class Boxtester {
        static void Main(string[] args) {
            // 2つのオブジェクトを生成
            Box Box1 = new Box(); // Box型の変数Box1を宣言
            Box Box2 = new Box();
            double volume;

            // オブジェクトを使ってメンバー関数を呼び出す
            Box1.setLength(6.0);
            Box1.setBreadth(7.0);
            Box1.setHeight(5.0);

            // Box2の寸法を設定
            Box2.setLength(12.0);
            Box2.setBreadth(13.0);
            Box2.setHeight(10.0);

            // Box1の体積を取得して表示
            volume = Box1.getVolume();
            Console.WriteLine("Volume of Box1 : {0}", volume);

            // Box2の体積を取得して表示
            volume = Box2.getVolume();
            Console.WriteLine("Volume of Box2 : {0}", volume);

            Console.ReadKey();
        }
    }
}

実行結果

Volume of Box1 : 210
Volume of Box2 : 1560

解説のポイント

この例では、同じBoxクラスから「Box1」(6.0 × 7.0 × 5.0 = 210)と「Box2」(12.0 × 13.0 × 10.0 = 1560)という2つの独立したオブジェクトを生成し、それぞれ異なる値を設定しています。

同じクラスから複数のオブジェクトを作成しても、各オブジェクトは独自のデータ(状態)を保持できる点が重要です。このように、クラスという共通の設計図から、データと振る舞いを持つ個別の実体を生み出せることこそが、オブジェクト指向プログラミングの基本的な考え方であり、C#プログラミングの土台となります。

  1. C#のクラスにおけるメンバー関数とは?定義方法と使い方を実例で解説

    メンバー関数とはクラスのメンバー関数(メソッド)とは、クラス定義の中でその定義やプロトタイプ(宣言)が記述される関数のことです。変数と同様にクラス内に宣言され、そのクラスのオブジェクトに対して操作を行います。また、そのオブジェクトが持つすべてのメンバー(フィールドやプロパティなど)にアクセスすることができます。以下は、メンバー関数の定義例です。public void setLength(double len) { length = len; } public void setBreadth(double bre) { breadth = bre; }C#でのメンバー関数へのアク

  2. Pythonの辞書(ディクショナリ)ビューオブジェクトとは?items()・keys()・values()の使い方を解説

    Pythonの辞書(dict)には、items()、keys()、values() という3つの便利なメソッドが用意されています。これらのメソッドは、いずれも「ビューオブジェクト(view object)」と呼ばれる特殊なオブジェクトを返します。ビューオブジェクトは辞書の中身を動的に参照できるため、forループでの反復処理や要素の確認などに広く活用されています。items() メソッド:キーと値のペアを取得するitems() メソッドは、辞書内のすべてのキーと値のペアを格納した dict_items オブジェクトを返します。各要素はタプル形式(キー, 値)で表されます。>>>