は抽象的な概念です。
たとえば、Dog クラスは、体重、身長、年齢、鳴き声など、犬のいくつかの特徴を記述します。
public class Dog { string dogBreed;//犬种 int weight; //体重 int height; //升高 int age; //年龄 public void bellow() { Console.WriteLine("旺旺"); } }
この Dog クラスは抽象的であり、特定の犬ではなく、いくつかの特性を説明します。
Dog クラスに属する近所の犬「ダハ」を定義しましょう。
Dog Daha = new Dog();
「Daha」のオブジェクトをインスタンス化し、これで「Daha」は具体的な存在になります。その後、「Daha」オブジェクトについて詳細な説明を与えることができます。たとえば、「ダハ」の犬種はハスキー、体重は35キロなどです。
Daha.dogBreed = "Husky";
Daha.weight = 35;
……
「Daha」を吠えさせましょう
Daha.bellow(); 注: プロパティは、 Dog クラスに直接割り当てられます。 int = 8; と同様、意味がありません。特定の犬を参照せずに、犬の体重、身長、品種が同じであるとは言えません。
クラスの最大の利点は、エンティティのプロパティと動作を独立したコード単位にカプセル化できることです。上記の例によれば、Dog クラスは犬の品種、身長、体重、年齢属性、および咆哮メソッドをカプセル化します。
アクセスタイプには、Public、Private、Protected (継承によってアクセス可能)、internal、および Protected external (継承によってアクセス可能) があります。クラス、フィールド、メソッド、プロパティ、およびコンストラクターで使用できます。
クラスにはフィールド、プロパティ、コンストラクター、メソッドを含めることができます。
クラスメンバーメソッド:
構文:
アクセスタイプ 戻り値の型メソッド名 (パラメーターを受け入れる)
{メソッド本体}
アクセスタイプのデフォルトは public
例:
Public void Method(int i , string s,…….) {方法体}
複数のメソッド: メソッド名は同じ、パラメータ 異なる
public string d(int i , int j) { } public void d(string i) { } public void d(int i) { } public int d(char d) { return 0; }
クラスコンストラクタ:
newはオブジェクト作成時にメンバ変数を初期化します。コンストラクタの関数名はクラス名と同じです。複数のメソッドと同様に、複数のコンストラクターが存在する可能性があります。
例:
class Dog { Public Dog(string dogBreed,int Weight) { weight = Weight; this.dogBreed = dogBreed; } Public Dog(string dogBreed) { this.dogBreed = dogBreed; } string dogBreed;//犬种 int weight; //体重
}
上記の例には、異なるパラメーターを受け入れる 2 つの複数のコンストラクターが含まれています。
これは現在のインスタンス(現在のオブジェクトを参照)、Dog インスタンスの DogBreed フィールドを表します。
クラスのメンバー変数(フィールド):
上記の例では、dogBreedとweightがこのクラスのメンバー変数です。コンストラクターで各変数を初期化するのではなく、定義時に初期化することもできます。
クラスメンバーの属性:
C# は get; を提供します。属性を使用してクラス データをカプセル化します。
例:
private int height; public int Height { get { return weight; } 读取 set { weight = value; } 赋给 }
上記の例では、他のクラスは高さを直接読み取ることができず、アクセサーを介してのみアクセスできます。
アクセスタイプは、get set の前に設定できます。
オブジェクトの破棄:
C# でのデストラクター、デストラクター宣言:
~textClass() { 析构处理 }
次のように書くこともできます:
textClass.Finalize() { 析构处理 Base.Finalize(); }
以上が C# の豆知識 (3): クラスの内容、その他関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。