このセクションでは、クラスの概要について説明します
。C# はオブジェクト指向プログラミングであると常に述べてきましたが、各オブジェクトは .net で定義されている必要がありますが、実際のプログラミングでは前に学びました。 、プログラム用にいくつかのクラスもカスタマイズする必要があります。
C# のすべてのクラスは System.Object クラスを直接的または間接的に継承するため、C# のクラスは単一のルートから継承できます。継承されたクラスを明示的に指定しない場合、コンパイラはデフォルトで、そのクラスが System.Object クラスから継承するとみなします。 System.Object クラスは、小文字の object キーワードで表すこともできます。
正確には、このクラスには 3 つの主要なコンポーネントがあり、ここでは詳しく説明しません。詳細については、後で詳しく説明します
。 1. 属性: 前述したように、アクセサ メソッドが使用されるため、読み取り専用または読み取りおよび書き込み可能になります。 2.
メソッド: メソッドを使用すると、オブジェクトを使用して操作を実行できますが、実際にはプロパティ設定を通じて他のオブジェクトと対話できますが、メソッドは一部の複合操作を完了できます。
3. イベント: 前のクラスでイベントについて説明しました。イベントは、トリガーされると対応する処理を実行します。
最後に、クラスを完全に定義したら、それをカプセル化できます。それを使用するとき、それがどのようにタスクを完了するかは気にしません。必要なのは、それがどのようなパブリック インターフェイスを持っているか、どのようなプロパティを持っているか、そしてどのようなメソッドとイベントを持っているかを知ることだけです。これらを総称してクラス メンバーと呼びます。
前に述べたように、クラスを使用して N 個のオブジェクトを作成できますが、それらはすべて分離されているので、2 つの特定のクラス間でオブジェクトを共有する方法はあるでしょうか。
本題に入りますが、一連のメソッドまたは属性を定義し、特定のクラスのオブジェクトに特別に使用するのではなく、クラス全体に適用できます。これらはいわゆる共有メンバー (静的メンバー) です。たとえば、出版された書籍の数を知りたい場合は、shared 属性 count 属性を使用します。また、すべての書籍の価格を調整するには、共有メソッド modemon() を使用します。これにより、すべての書籍に 20% の割引を与えることができます。本。
クラスにはいくつかの変数が含まれており、これらの変数のデータはメンバー変数 (前によく説明したプライベート変数) に含まれており、これらのコードはメンバー関数にも含まれています。実際には、操作ではそのプロパティ、メソッド、イベント、その他のインターフェイスのみが提供され、データ部分はすべて非表示またはカプセル化されます。
メンバ変数とメンバ関数を総称してクラスメンバと呼びます。これらは静的メンバーとエンティティ メンバーに分けられます。
以下に例を見てみましょう
public static string aaa; --------静的メンバー変数
public static void aaa() --------静的メンバー関数
{
}
public string aaa; -------------エンティティのメンバ変数
public void aaa() -------------エンティティのメンバ関数
{
}
上記では
static キーワードが使用されていることに注意してください
。静的メンバー変数を使用する場合は、オブジェクトを宣言せずにエンティティ メンバーを
直接使用できます。つまり、C# のすべてのオブジェクトは、
使用する前に宣言する必要があります。マネージド ヒープ上に作成されます。インスタンス化された型はオブジェクトと呼ばれ、その中心的な特徴は、データ メンバーの独自のコピーを持つことです。特定のオブジェクトが保持するこれらのデータ メンバーはインスタンス メンバーと呼ばれます。逆に、特定のオブジェクトによって保持されないデータ メンバーは静的メンバーと呼ばれ、クラス内で static 修飾子を使用して宣言されます。静的データ メンバーに対する操作のみを実行するものは、静的関数メンバーと呼ばれます。
void もあります。一般的なメソッドまたは関数の実行後に返されるものは、int や string などの任意の型になります。値を返さないメソッドを作成する場合は、戻り値の型の代わりにキーワード void を使用する必要があります。
したがって、上記の public という単語には、実は、privateprotectedinternal という 3 つの兄弟があることに気づいたはずです。これらはアクセス修飾子と呼ばれ、データを隠すという目的を達成するためにクラス メンバーに対する外部操作を制御するために使用されます。
以下、それぞれについて説明していきます
public: どの外部クラスも制限なくクラス データにアクセスできます。
private: このクラスの内部使用を制限する
protected: クラス自体に加えて、このクラスを継承するクラスはどれでも
内部を使用できます: 同じアプリケーション (Application) またはクラス ライブラリ (Library) 内で使用できることを意味しますが、これは基本的には必要ありません。
http://www.cnblogs.com/thcjp/archive/2006/09/15/505022.html