またまた聞きなれない言葉が出場しました。
コンストラクタ!?。
デストラクタ!?。
クラス内のメソッド
コンストラクタとデストラクタはクラス内に定義するメソッドです。
コンストラクタ
クラスを生成(インスタンス)すると同時に実行するメソッドになります。
初期処理等の利用するといいでしょう。
デストラクタ
クラスが破棄されたら実行するメソッドです。
後処理に利用するのかな?。
サンプルコード
実際にコンストラクタとデストラクタのコードを書いてみます。
class MyClass { public MyClass() { Console.WriteLine("コンストラクタです"); } ~MyClass() { Console.WriteLine("デストラクタです"); } }
コンストラクタはクラス名と同じ名前のメソッドを宣言します。
デストラクタはクラス名の頭に~(チルド)付けて宣言します。
クラスMyClassをインスタンスすると同時にMyClassメソッドが実行されます。
注意
デストラクタはクラスが破棄されたら実行されるメソッドと言いましたが、クラス破棄されるタイミングはよく分かりません。
デストラクタはusingを併用して使った方がいいかもしれません。
最後に
デストラクタをどのように使うかまだはっきり分かりません。
あくまで想像ですが、コンストラクタでデータベースに接続して、デストラクタでデータベースを解放するといった処理ができるような気がします。
有効にデストラクタを使うにはusing等を使用してクラスのスコープを明確にする必要がありそうです。
コメント