![【クラス合唱】言葉にすれば/ゴスペラーズ - あされん](https://i.ytimg.com/vi/ZUlCQST6UHE/hqdefault.jpg)
コンテンツ
- 定義-クラスメンバーの意味
- Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
- Techopediaはクラスメンバーを説明します
定義-クラスメンバーの意味
C#のクラスメンバーは、クラスのデータと動作を表すクラスのメンバーです。
クラスメンバとは、クラスで宣言されたメンバと、その継承階層のすべてのクラスで宣言されたすべてのメンバ(コンストラクタとデストラクタを除く)です。
クラスメンバには次のタイプがあります。
- 定数値を表す定数
- 変数を表すフィールド
- メンバーに対する計算やその他のアクションなどのサービスを提供するメソッド
- クラス機能を定義し、それらを取得および変更するアクションを含むプロパティ
- 異なるクラス/オブジェクト間で通信するために生成されたイベント
- 配列と同様のクラスインスタンスへのアクセスを支援するインデクサー
- クラスインスタンスを持つ式で使用される場合にセマンティクスを定義する演算子
- クラスインスタンスのメンバーを初期化するインスタンスコンストラクター
- クラス自体を初期化する静的コンストラクター
- クラスインスタンスが破棄される前に実行する必要があるアクションを実行するデストラクター
- クラスに対してローカルな型(ネストされた型)
クラスメンバーは、次のアクセシビリティのいずれかで個別に指定できます。
- パブリック-現在のアセンブリまたは外部アセンブリ内の任意のコードからアクセス可能
- 保護-同じクラスまたはその派生クラス内のアクセシビリティ
- 同じクラス内のプライベート-アクセシビリティ
- 内部–現在のアセンブリ内のアクセシビリティ
- 保護された内部–現在のアセンブリまたはクラスを含むクラスから派生したクラス内のアクセシビリティ
クラスメンバーのデフォルトのアクセシビリティレベルがパブリックであるJavaとは異なり、C#ではプライベートです。
Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
Techopediaはクラスメンバーを説明します
クラスメンバーは、異なるシグネチャでオーバーロードできるコンストラクターで初期化されます。コンストラクターを持たないクラスの場合、クラスメンバーを(デフォルト値に)初期化するデフォルトコンストラクターが生成されます。
C ++とは異なり、C#では、クラスが1つの基本クラスからのみ継承できます。ただし、クラスは複数のインターフェイスから派生できますが、すべてのインターフェイスメンバーを実装する必要があります。インターフェースを実装するクラスのこれらのメンバーは、デフォルトでパブリック可視性を持ち、他のアクセス修飾子を持つことはできません。
コンストラクターを除く基本クラスのすべてのメンバーは、派生クラスに継承されます。派生クラスメンバーは、「new」キーワードを使用してベースメンバーがオーバーライドされないことを示し、コンパイラの警告を回避する必要があるベースクラスメンバーを非表示にできます。
静的クラスメンバは、クラス名を使用してのみアクセスできる静的クラス(インスタンス化も継承もできない)のメンバです。インスタンスメンバーとは異なり、静的メンバーのコピーが1つあります。これは、初めてアクセスされる前、および静的コンストラクター(存在する場合)の前に初期化されます。
抽象クラスのメンバーは、直接インスタンス化を妨げるため、使用するには派生クラスに実装する必要があります。クラスまたはクラスメンバーが継承されないようにするには、クラスまたはそのメンバーを「シール済み」として宣言できます。クラスメンバーは、「const」修飾子を使用して「コンパイル時」定数として、「readonly」修飾子を使用してランタイム定数として使用できます。
新しい宣言スペースでクラスメンバを宣言する間、次の規則が適用されます。
- コンストラクタとデストラクタを除き、他のすべてのメンバーはクラス名とは異なる名前を持つ必要があります
- 定数、フィールド、プロパティ、イベント、またはタイプの名前は、クラス内で一意である必要があります
- 複数のメソッドを同じ名前で宣言できますが、署名が異なる必要があります
- インデクサーと演算子の署名は、クラス内で宣言されたものの中で一意である必要があります
- クラスメンバーは、プロパティ、イベント、インデクサー、および「Finalize」用に予約されたメンバー名である予約済み署名を持つことはできません
- メンバーのタイプ、パラメーター、メソッド、デリゲートまたはインデクサーの戻り値は、メンバー自体としてアクセス可能でなければなりません
- ユーザー定義の演算子は、パブリックとしてアクセシビリティレベルを持っている必要があります