私のプロジェクトでは、さまざまなデータベース接続クラスのそれぞれに必要なメソッドを記述するためのインターフェイスを定義しました。これはと呼ばれIDatabaseConnectivityObject
ます。私の各クラスはこのインターフェースを実装して、クエリの実行、接続の確立などのためにすべてのクラスに同じメソッドが含まれていることを確認します。
次のコードを検討してください。
IDatabaseConnectivityObject adoDataBaseConnection = new DbProviderFactoryConnection();
DbProviderFactoryConnection adoDataBaseConnection = new DbProviderFactoryConnection();
上記の行は両方とも同じように動作しますか?もしそうなら、なぜですか?そうでない場合は、なぜですか?両方の利点は何ですか?
それは本当にばかげた質問かもしれませんが、私は長い間インターフェースを使用したことがなく、1行目が何をするのかわかりません。インターフェイスは単に動作を定義するだけなので、インターフェイスのインスタンスを作成できないことは私の理解でしたが、その行はどのように可能ですか?