先ほど、C# の単純なデータ型である値型について学習しました。次に、C# の別のデータ型である参照型について学習します。ここでの「参照」という言葉は、この型の変数が値を格納するのではなく、直接的なものではないことを意味します。つまり、参照型には変数のアドレスが格納されます。 C# には 4 種類の参照型があります:
クラス
表現
配列
インターフェース
ここでは、まずそれぞれの意味と定義を簡単に紹介します。具体例を書いて詳しく紹介します。
クラス
クラスは、オブジェクト指向編成の基本単位であり、データ メンバー、関数メンバー、およびネストされた型を含むデータ構造です。クラスのデータ メンバーには定数、フィールド、イベントが含まれ、関数メンバーにはメソッド、プロパティ、インデックス インジケーター、演算子、コンストラクター、デストラクターが含まれます。クラスと構造体 (構造体) には独自のメンバーも含まれますが、それらの主な違いは次のとおりです。クラスは参照型であるのに対し、構造体は値型であるということです。クラスは継承メカニズムをサポートしており、派生クラスを継承することで、基本クラスのデータ メンバーと関数メソッドを拡張でき、それによってコードの再利用と設計の再利用の目的を達成できます。 (クラスの継承と派生については後で詳しく説明し、クラスの定義については次の記事で説明します) クラスを定義するときは、データ型のブループリントを定義します。これは実際にはデータを定義しません (アドレスであるため) が、クラスの名前が何を意味するか、つまり、クラスのオブジェクトが何で構成されているか、およびこのオブジェクトに対してどのような操作を実行できるかを定義します。オブジェクトはクラスのインスタンスです。クラスを構成するメソッドと変数は、クラスのメンバーになります。特定のクラスに変数を定義する場合、それをクラスのインスタンスと呼びます (オブジェクトと呼ぶこともできますが、名前は後で変更します)。 C# で一般的に使用される 2 つのクラスである Object クラスと String クラスについても、後ほど詳しく説明します。
は
C# ではデリゲートが安全であるにもかかわらず、
がクラッシュします。デリゲートは、System.Delegate クラスから派生した特定のメソッドを指します。デリゲートが定義されている場合、それは System.Delegar の拡張です。具体的な使い方については後ほど詳しく説明します。
配列
データをバッチで処理するときは、C/C++ と同様に、配列を使用します。配列は、配列名に従って、データのコレクションを格納するために使用される、同じ型の順序付けされたデータのセットです。データ要素のタイプと次元が説明されます。 C# で提供される System.Array は、すべての配列型の基本クラスです。配列内の特定の要素にはインデックスによってアクセスします。すべての配列は、連続したメモリ位置で構成されます。最も低いアドレスは最初の要素に対応し、最も高いアドレスは最後の要素に対応します。
Interface
インターフェイスは、インターフェイスを継承するときにすべてのクラスが従う必要がある構文規約を定義します。インターフェイスは構文コントラクトの「何を」部分を定義し、派生クラスは構文コントラクトの「どのように」部分を定義します。インターフェイスは、インターフェイスのメンバーであるプロパティ、メソッド、およびイベントを定義します。インターフェイスにはメンバーの宣言のみが含まれます。メンバーの定義は派生クラスの責任です。インターフェイスは、派生クラスが従うべき標準構造を提供します。抽象クラスはある意味インターフェイスに似ていますが、主に、基本クラスによって宣言され、派生クラスによって実装されるメソッドが少数しかない場合にのみ使用されます。 (つまり、インターフェイスはメソッド宣言のみを提供し、具体的なメソッドはそれを継承するサブクラスによって決定されます。たとえば、5 人に 100 元を与えた場合、5 人が 100 元で何をするかは私には関係ありません)お金を提供する責任のみを負います) インターフェイスは、クラスの宣言と同様に、interface キーワードを使用して宣言されます。インターフェイス宣言はデフォルトで public です。多重継承はインターフェースを通じて実現できます。 (詳細は後ほど)
以上は C# 学習日記 12---データ型 - 参照型 (序文) の内容です。その他の関連内容については、PHP 中国語 Web サイト (www.php.cn) をご覧ください。 )!