工法
コンストラクター:オブジェクトの構築は、実際にはオブジェクトの作成です。オブジェクトを作成する過程で、呼び出す必要のあるメソッドはコンストラクターと呼ばれます。
構築方法の本質は、フィールド、属性、オブジェクト、またはその他の依存関係を初期化する方法です。
初期化呼び出しシーケンス:field = "attribute =" = "構築メソッド
クラスでは、コンストラクターが明示的に記述されていない場合、コンパイラーはデフォルトでこのクラスにパラメーターのないコンストラクターを追加します。呼び出されたクラスにパラメーターのないコンストラクターがない場合、再度呼び出すとエラーが発生します
工法の正準記述
class MyClass
{
public MyClass()
{
}
public MyClass([参数1],[参数2])
{
}
public MyClass([参数1],[参数2]....[参数n])
{
}
}
構築メソッドに戻り値を設定することはできません。メソッド名はクラス名と一致している必要があります。パラメータを使用した構築メソッドが呼び出されます。パラメータ名がクラスのフィールド名と同じである場合、このキーピリオドを使用して区別します。
public MyClass(string _name)
{
this._name = _name;
}
private string _name="张三";
public string Name { get => _name; set => _name = value
インスタンスメソッド
インスタンスメソッドは、オブジェクトのインスタンス化によって呼び出されるメソッドです。他の場所でこのメソッドにアクセスするには、パブリックで装飾する必要があります。
メソッド名の定義:Pascalの命名法を使用する、動詞-目的語句、または動詞を使用する
メソッドの呼び出し:インスタンス名。インスタンスメソッド([パラメーター])
MyClass myClass = new MyClass();
myClass.Add(1, 2, 3);
myClass.Add(1, 20);
メソッドのオーバーロードは、パラメーターとパラメータータイプに基づいて、呼び出すオーバーロードされたメソッドを決定します。オーバーロードされたメソッドには、異なるタイプのパラメーターまたは異なる数のパラメーターが必要です。同じパラメーターと同じ戻り値を持つメソッドは、オーバーロードできません。
public int Add(int a ,int b)
{
return a + b;//方法体
}
public int Add(int a,int b,int c)
{
return a + b + c;//方法体
}
名前付きパラメーター
場合によっては、呼び出し元のメソッドでパラメーターの順序を考慮する必要があり、名前付きパラメーターの引用順序は無視できます。
//命名参数(也就是说调用方法的时候,给参数前面写上参数名称,这样可以不用考虑顺序)
myClass.Add(a: 2, b: 7);
静的メソッド
静的メソッドは、静的に変更されたメソッドです。
呼び出しの実行:クラス名。静的メソッド
MyClass.Mul(3, 7);
静的メソッドの特徴:クラスを介して直接、新しいオブジェクトを必要としない、いわゆる静的メソッド。これらの静的メンバー(フィールド、属性、メソッド)は、プログラムの開始時にCLRによって処理され、プログラムの開始時に自動的に初期化されます。
静的メソッドは、インスタンス化されていないメソッド、フィールド、および属性を直接呼び出すことはできません。
public static int Mul(int a,int b)
{
//这里可以调用其他实例的实例方法、属性
MyClass myClass = new MyClass();
myClass.Name = "李四";
return a * b;
}
静的メソッドとインスタンスメソッドの違い
インスタンスメソッドまたは他のインスタンスメンバーは、メモリ内のスペースを開くために呼び出されたときにインスタンス化する必要があります。これらが使用されると、GC(ガベージコレクション)によって再利用されてメモリが解放されます。プログラムは常にオブジェクトを作成および破棄しています。
静的メソッドまたは静的メンバーはGC(ガベージコレクション)によって制御されず、メモリはプログラムが閉じられたときにのみ解放されます。静的メンバーは慎重に使用する必要があります。非常に頻繁に使用され、スペースをほとんどとらないものに。適切に使用できます