目次:
定義-インスタンスフィールドとはどういう意味ですか?
C#のインスタンスフィールドは、クラスまたは構造体内に含まれる任意の型の変数であり、オブジェクトデータを格納するために使用されます。 包含型の各インスタンスのフィールドのコピーを1つ持つ包含型のメンバーです。
インスタンスフィールドは、オブジェクトがその状態を維持できるようにするクラスのデータを表します。 これらのフィールドは通常、プロパティとして公開されます。これにより、クラスの設計の強化に従って、破壊的な変更を導入することなく、フィールドの内部実装を変更できます。 この利点は、プロパティを介してフィールドにアクセスする際のわずかなオーバーヘッドの影響を無効にします。
インスタンスフィールドを設計する主な目的は、クラスのすべてのメソッドがアクセスする必要があるデータをカプセル化し、クラスのインスタンスの存続期間を通じてデータを保存できるようにすることです。 さらに、必要なレベルのアクセシビリティでデータを非表示にすることで、データが偶発的に破損するのを防ぐことができます。
インスタンスフィールドは、インスタンス変数とも呼ばれます。
Techopediaはインスタンスフィールドについて説明します
インスタンスフィールドは、名前、アクセスレベル、およびデータ型の詳細とともにクラスブロック内で宣言されます。 アクセスレベルは、private、protected、public、internal、protected internalのいずれかのアクセス修飾子を使用して指定できます。 一般に、フィールドはプライベートまたは保護されたアクセシビリティで使用され、クライアントコードへの直接アクセスを防ぎます。
クラスのインスタンス化中、クラスの各インスタンスは個別のメモリ空間を占有し、そのフィールドには個別の独立した値があります。 クラスに属し、クラスのすべてのインスタンス間で共有される静的フィールドとは異なり、インスタンスフィールドにはクラスのインスタンスからのみアクセスできます。
たとえば、インスタンスフィールドとして日付を持つクラスを考えます。 このクラスの2つのインスタンスがXおよびYとして作成されると、オブジェクトYの値に影響を与えることなく、オブジェクトXの日付値を変更できます。
インスタンスフィールドは、宣言時に初期値を割り当て演算子を使用して初期化できます。 インスタンスフィールドは、読み取り専用修飾子と共に使用することもできます。そのため、その値は、そのクラスの宣言またはコンストラクターのいずれかで1回だけ割り当てることができます。