Springのインタフェース向けプログラミングについて
Springのインタフェース向けプログラミングはあいまいだったが、今日はもう一度復習してから、彼女の細心の指導を通じて、やっとインタフェース向けプログラミングを理解した.ここにブログを書いて、皆さんが勉強して検討できるようにします.
インタフェース向けのプログラミングについて、私が最初に言及するのはjavaのマルチステートです.
まず、マルチステートとは何か、マルチステートの定義:
子クラスのオブジェクトは親クラスのオブジェクトに値を割り当て、変数を参照するメソッドを呼び出すと、常に子クラスのオブジェクトメソッドの動作が表示されます.これは、同じタイプの変数を呼び出すメソッドが現れ、異なる特徴を示します.これがマルチステートです.
では、マルチステートとインタフェース向けプログラミングはどのような関係があるのでしょうか.もし、誰かが自転車を使う必要があるなら、ある日彼は自転車を必要としないで、乗用車を運転する必要があります.この时、私たちは自転車というクラスに行ってコードを変更したくありません.他の人がこの自転車を使う可能性があるからです.そこで、インタフェースを定義し、マルチステートでサブクラス(自転車クラス、乗用車クラス)を呼び出して異なるタスクを完了します.
次はコードで実現します!
その注入関係実Springのプロファイルに記述された
自転車に乗りたくないときは、carインタフェースを実現するBWMを書くだけです.carでいいです.自転車類を修正する必要はありません.
最初に自転車類を使った時、コンソール出力:this is Bicycleこの時、どうやってcarを譲るのか.usrCar(); このメソッドの戻り結果:this is BMW
この場合、設定を変更してBMW_をcarを注入すると以下のようになります.
これを次のように変更します.
つまりPersonクラスの中の声明に相当するprivate Car car=new Bicycle()である.private Car car=new BMW_に変更car();
このように書かれていないのはSpringがプロファイルを通じてオブジェクトを操作しているためで、これもSpringの大きな利点です!
だから、私たちはインタフェースを通じて方法を呼び出すだけで、具体的な実装クラス、私たちは心配する必要はありません.変更する必要があるときは、プロファイルに新しい実装クラスのアドレスを変更するだけでいいです.
インタフェース向けのプログラミングについて、私が最初に言及するのはjavaのマルチステートです.
まず、マルチステートとは何か、マルチステートの定義:
// ,
Father father = new Son();
//
father.study();
子クラスのオブジェクトは親クラスのオブジェクトに値を割り当て、変数を参照するメソッドを呼び出すと、常に子クラスのオブジェクトメソッドの動作が表示されます.これは、同じタイプの変数を呼び出すメソッドが現れ、異なる特徴を示します.これがマルチステートです.
では、マルチステートとインタフェース向けプログラミングはどのような関係があるのでしょうか.もし、誰かが自転車を使う必要があるなら、ある日彼は自転車を必要としないで、乗用車を運転する必要があります.この时、私たちは自転車というクラスに行ってコードを変更したくありません.他の人がこの自転車を使う可能性があるからです.そこで、インタフェースを定義し、マルチステートでサブクラス(自転車クラス、乗用車クラス)を呼び出して異なるタスクを完了します.
次はコードで実現します!
//car
public interface Car {
public void userCar();
}
// , car
public class Bicycle implements Car {
public void userCar() {
System.out.println("this is Bicycle");
}
}
// , car
public class BMW_Car implements Car{
public void userCar() {
System.out.println("this is ");
}
}
//person car
public class Person {
private Car car;
public void userCar(){
car.userCar();
}
}
その注入関係実Springのプロファイルに記述された
自転車に乗りたくないときは、carインタフェースを実現するBWMを書くだけです.carでいいです.自転車類を修正する必要はありません.
最初に自転車類を使った時、コンソール出力:this is Bicycleこの時、どうやってcarを譲るのか.usrCar(); このメソッドの戻り結果:this is BMW
この場合、設定を変更してBMW_をcarを注入すると以下のようになります.
id="person" class="com.ahut.Person">
<property name="car" ref="bicycle">property>
これを次のように変更します.
id="person" class="com.ahut.Person">
<property name="car" ref="BMW_car">property>
つまりPersonクラスの中の声明に相当するprivate Car car=new Bicycle()である.private Car car=new BMW_に変更car();
このように書かれていないのはSpringがプロファイルを通じてオブジェクトを操作しているためで、これもSpringの大きな利点です!
だから、私たちはインタフェースを通じて方法を呼び出すだけで、具体的な実装クラス、私たちは心配する必要はありません.変更する必要があるときは、プロファイルに新しい実装クラスのアドレスを変更するだけでいいです.