オブジェクトクラスを定義し、作成します
使用してシステムを。 使用してSystem.Collections.Genericを。 使用してSystem.Linqのを。 使用してSystem.Textのを。 使用してSystem.Threading.Tasksを。 名前空間ConsoleApp3 { パブリック クラス時間 { 公共 int型の時間。 公共 int型分。 公共 int型秒。 公共 ボイド項目SetTime(INT H、INT M、INT S) { 時間 = H; 分 = M。 第二 = S。 } 公共の 文字列ShowTimeの() { 文字列 STRはString.Formatの(= " 現在の時刻が{0} {1} {2} 2部である" 、時間、分、秒); 戻りSTR。 } } クラスプログラム { 静的な 無効メイン(文字列[] argsを) { 時刻t = 新しいタイム(); t.SetTime(10、20、30 )。 t.hour = 22 。 Console.WriteLineを(t.ShowTime())。 } } }
コンストラクタ
なぜ我々はコンストラクタが必要なのでしょうか? コンストラクタメソッドは、特別なクラスで、クラスの各インスタンスは、それが呼び出されます作成されます 以下の点で特殊コンストラクタ: (1 関数名やクラス名など)コンストラクタ。 (2 )パラメータ化コンストラクタが、ノーリターン値とすることができます。 (3 オブジェクトが定義されている場合)コンストラクタが自動的に呼び出されます。 (4 )なしのコンストラクタクラス定義した場合、コンパイラが自動的にデフォルトコンストラクタを生成します。 (5 )コンストラクタをオーバーロードすることができるが、継承することができません。 (6つのタイプ修飾子)コンストラクタは常にpublicです。それがプライベートの場合、それが唯一のクラスは、通常の静的メンバに使用されているが含まれている、クラスはインスタンス化できないことを示しています。
デストラクタ
特別デストラクタメンバ関数は、主に、クラスのインスタンスを解放するために使用されるクラスです。 以下の点でデストラクタの特殊性: (Aの名前)も、デストラクタ、クラス名と同じですが、前に「〜」記号を追加する必要があります。(2)デストラクタ引数は、値を返さない、とはアクセスキーが存在しません。(図3は、オブジェクトが引き抜かれるときに)、自動的にデストラクタを呼び出します。 (4)デストラクタを継承することができない、それが過負荷にすることはできません。注:メソッドの開始時に、あなたがクラス名を宣言しようとすると、他のは同じではありませんが、「〜」であれば別の方法として、コンパイラはエラーを生成します。