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

C#のクラスにおけるメンバー変数とは?意味と使い方を徹底解説

C#におけるクラスとメンバー変数の基本

C#において、クラスはメンバー変数(フィールド)とメソッド(関数)を含む「設計図」であり、そこから生成されるオブジェクトの状態や振る舞いを定義するものです。

まずはクラスの基本構文を確認し、メンバー変数がどのように宣言されるのかを見ていきましょう。

クラスの基本構文

<アクセス修飾子> class クラス名 {
    // メンバー変数
    <アクセス修飾子> <データ型> 変数1;
    <アクセス修飾子> <データ型> 変数2;
    ...
    <アクセス修飾子> <データ型> 変数N;

    // メンバーメソッド
    <アクセス修飾子> <戻り値の型> メソッド1(パラメータリスト) {
        // メソッド本体
    }
    <アクセス修飾子> <戻り値の型> メソッド2(パラメータリスト) {
        // メソッド本体
    }
    ...
}

メンバー変数の役割とカプセル化

メンバー変数は、設計の観点から見るとオブジェクトの「属性」に相当します。カプセル化を実現するため、これらの変数はprivateとして宣言し、外部からはpublicなメソッドを通じてのみアクセスできるようにするのがC#のベストプラクティスです。

この設計により、クラス内部のデータを不正な操作から守り、意図した方法でのみ値を読み書きさせることができます。

具体例:Rectangleクラス

次の例では、lengthwidth がメンバー変数に該当します。Rectangleクラスの新しいインスタンスを生成するたびに、そのインスタンス専用のlengthとwidthが新たに作られるという点が重要です。

using System;

namespace RectangleApplication {
    class Rectangle {
        // メンバー変数
        private double length;
        private double width;

        public void Acceptdetails() {
            length = 10;
            width = 14;
        }

        public double GetArea() {
            return length * width;
        }

        public void Display() {
            Console.WriteLine("Length: {0}", length);
            Console.WriteLine("Width: {0}", width);
            Console.WriteLine("Area: {0}", GetArea());
        }

    } // Rectangleクラスの終わり

    class ExecuteRectangle {
        static void Main(string[] args) {
            Rectangle r = new Rectangle();
            r.Acceptdetails();
            r.Display();
            Console.ReadLine();
        }
    }
}

実行結果

Length: 10
Width: 14
Area: 140

このように、メンバー変数は各オブジェクト固有の状態を保持する役割を担います。privateで宣言し、Acceptdetails()やGetArea()といったpublicメソッドを介して操作することで、安全で保守性の高いコードを実現できます。

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

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

  2. Javaのクラスで使える変数は3種類!ローカル変数・インスタンス変数・static変数の違いを解説

    Javaのクラスで扱える変数には、大きく分けて3つの種類があります。それは「ローカル変数(local variables)」「インスタンス変数(instance variables)」「クラス変数/静的変数(class/static variables)」です。それぞれ宣言する場所や生存期間(ライフサイクル)が異なるため、用途に応じて正しく使い分けることが、バグの少ない読みやすいコードを書く第一歩となります。本記事では、各変数の特徴とサンプルコードを交えてわかりやすく解説します。1. ローカル変数(Local Variable)ローカル変数とは、メソッド内・コンストラクタ内・コードブロック(i