[24]学習C#クラスのアクセスレベル


訂正 [文]カテゴリ、[作成]の例

クラス宣言の位置

(1)名前空間(最も一般的)

すべての明示的な追加の名前空間 - (2)グローバル名前空間に

(3)クラス:クラス本体内に宣言されたクラスは、クラス[]のメンバーであり、それは同じクラスのメンバに属するプロパティ、メソッド、フィールドのようなものです[]

VSは、ステートメントを定義します

  • C ++では、宣言定義するクラスは、別々に書き込まプログラミング仕様および勧告は、分離されています
  • しかしで定義されるように、C#、およびクラス定義ステートメントで分離することができない、一緒に、それは] [理解することができるなければならないと宣言されます

クラス宣言構文

ここに画像を挿入説明
すべてのクラス宣言の構文要素を過ごすために持っている場合、機能のこのタイプは、それがないという意味、ぼやけているので、非常に複雑な構文に見えますが、クラス宣言の大半は、単純明快ですが、

  • クラス宣言では、三つの部分を省略することができない存在である
    (1)クラスキーワード:クラス宣言するために示す
    (2)の識別子を、識別子:クラス名(パスカルとしてクラスの名前は、各単語の最初の文字は大文字)
    本体(3)

  • クラス修飾子[修飾子]
    ここに画像を挿入説明
    論理グループのクラス修飾子、例えば:
    (1)継承によって抽象密閉
    (2)公共、内部:アクセスレベルの種類により、
    (3)クラスは、クラスのメンバーである:パブリック、保護、内部、プライベート
    (4)静的クラス:静的
    、等

  • アクセス修飾子のクラスレベル:パブリック、内部の
    公共:他のプロジェクトよりも、[プロジェクト]クラスでの意思決定、クラスを見る能力
    内部:クラスのアクセスレベルは、[プロジェクト]レベル(デフォルト)に限定されています

サンプルコード

(1)適切なソリューション、クラスLibiaryを選択し、新しいプロジェクトを追加し、MYLIBとして指名することができます

MYLIBプロジェクトで(2)、新しいフォルダを追加し、コンパイラが自動的に名前空間として扱われます、それはMYNAMESPACEとして命名することができます

(3)名前空間MYNAMESPACEで、クラスを追加し、電卓名前を付けることができます

(4)その後、これらの修飾子のいずれかを追加しない、クラス電卓のadd()メソッドを書きます
ここに画像を挿入説明

Program.csの(プロジェクト最初に作成)〜(5)の背面、右側のパネルで参照を選択 - 参照の追加 - ソリューション - MYLIB

(6)完全修飾名を書くために手間を節約するために、using MyLib.Mynamespace;

(7)は、あなたがプログラムのクラスでMyLib.Mynamespaceで宣言されたCalculatorクラスを引用したい場合は、クラスのアクセスレベルが[パブリック]がないので、行うことができない、見ることができる
アクセスレベルは、パブリッククラス電卓変更された場合、あなたは自由に引用されたことができます

説明
(1)デフォルトで、つまり、クラスの任意の制限そのアクセスレベル修飾子を書きませんアクセスレベルクラスである[内部]、クラスが唯一の彼のプロジェクトの他のメンバーによってアクセスすることが可能であること、外の世界にはアクセスできません

(2)] [HelloClass(プロジェクトが最初に作成)引用された[MYLIB]、それは言うことができるので:[HelloClass]が依存している [MYLIB]に

  • [アセンブリ]:アセンブリアセンブリまたはアセンブリ、設定翻訳
    、各プロジェクトの結果をコンパイルし、通常の状況下でアセンブリであり
    、共通のコンパイル二種類についての結果:
    (1).exeファイル-実行可能ファイル
    ( 2).dll--ライブラリ
    プロジェクトを右でコンパイル結果を設定したい場合は、[プロパティ]を選択

概要
(1)[パブリック]プログラムから集束クラスにさらされるので、参照そのアセンブリが見ることができるアセンブリとアクセスクラス

(2)]あなたはあなたが訪問することをアセンブリの唯一の他のメンバーのクラスになりたい場合は、[プロジェクトレベルでアクセスクラス制限のinterenal、あなたはこのクラスのアクセスレベルを設定する必要がありますが、内部であり、それはそれはデフォルト

公開された29元の記事 ウォンの賞賛3 ビュー934

おすすめ

転載: blog.csdn.net/weixin_44813932/article/details/104043380