クラスメンバー

クラスメンバーは二種類に分かれます:データメンバーと関数メンバー

ここまで学習してきたint、long、shortといった型は単純型と呼ばれ、.NETに標準搭載されている型です。マイクロソフトの開発者が事前に実装し、.NETフレームワークに組み込んであります。Visual Studio 2022をインストールする際に同時に.NETも導入され、これら標準の単純型が利用可能になります。これらの型は一つのデータしか保持できません。

後の講義では複数のデータを保持できる型を学びます。配列がその代表例で、同じ型のデータを複数格納する仕組みで、例えば複数のint値をまとめて保管できます。配列内の一つ一つの値を要素と呼び、インデックス番号から要素にアクセスします。配列の詳しい使い方は後ほど解説します。

複数の異なる型のデータをまとめて保存できる複合型も存在し、各データ項目をメンバーと呼びます。メンバーにアクセスするには定義したメンバー名を使用します。

メンバーは大きく二つに分類されます:データメンバー、関数メンバー。

データメンバー:クラスのインスタンスオブジェクト、またはクラス全体に紐付くデータを保存する役割

関数メンバー:コードロジックを実行し、その型が持つ振る舞いを定義する役割

下記のPersonクラスには二つのデータメンバーが定義されています

class Person
{
    private string name;
    private int age;

    public void SayHi() 
    {

    }

    public void SetMyName(string name)
    {
        this.name = name;
    }
}Code language: PHP (php)

データメンバー(フィールド / プロパティ):状態を保持する要素。例としてユーザークラス内の名前や年齢が該当します

関数メンバー(メソッド):振る舞いを定義する要素。ユーザー名の更新や挨拶出力といった処理を記述します

配列は数値インデックスでアクセスし、クラスメンバーは独自に定義した名前でアクセスします


class Program
{
    static void Main(string[] args)
    {
        // This is a int array
        int[] array = new int[5] { 1,2,3,4,5 };
        Console.WriteLine(array[0]); // 1

        Person person = new Person();
        person.SetMyName("John");
        person.SetMyAge(30);
        person.SayHi(); // Hi, my name is John and I am 30 years old.
    }
}

class Person
{
    private string name;
    private int age;

    public void SayHi() 
    {
        Console.WriteLine($"Hi, my name is {name} and I am {age} years old.");
    }

    public void SetMyName(string name)
    {
        this.name = name;
    }

    public void SetMyAge(int age)
    {
        this.age = age;
    }
}Code language: PHP (php)

上記サンプルでは整数型配列を作成し、五つの要素に1、2、3、4、5を初期代入しています。先頭の要素を取得するにはインデックス0を指定する必要があり、配列のインデックスは0から始まる点に注意してください。

一方クラスメンバーは「オブジェクト名.」という記法で定義した名前からアクセスし、例ではperson.と記述します。

Class Person { } はクラスの定義文に過ぎず、内部のコードは外部から呼び出されない限り実行されません。呼び出しがなければ単なる設計図・テンプレートとして存在するだけで、一切動作しません。

プログラムのエントリーポイントとなるMain関数は静的関数で(後ほど解説)、インスタンス生成なしで利用できクラス自身に属します。ユーザーがexeファイルをダブルクリックしてプログラムを起動すると、OSが自動的にMain関数を呼び出します。

クラスメンバー

Previous:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です