2017-10-15 3 views
1

破壊されたときに呼び出されるクラスメソッドはありますか?クリスタル - クラス破壊のメソッド

newをクラスに使用する場合、initializeメソッドが呼び出されます。destroy相当ですか?
クラスが使用されなくなったときにデータベースが正しく閉じられていることを確認する必要があります(データベースが閉じられた後もプログラムは実行され続けます)。

答えて

5

Object#finalizeがありますが、このようなデストラクタは一般に、Cライブラリのリソースを解放するなどの低レベルの抽象化にのみ必要です。通常のアプリケーションやライブラリのコードでは、これはコードの匂いと考えられ、通常はより良い解決策があります。

データベース接続が特定の相互作用にのみ使用されている場合は、GCデストラクタフックに頼るのではなく、手動で接続を開いたり閉じたり(おそらくはブロックでラップ)する方がよいでしょう。