<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          依賴傳遞的三種方式

          共 1397字,需瀏覽 3分鐘

           ·

          2020-11-12 18:57

          點(diǎn)擊上方「藍(lán)字」關(guān)注我們

          依賴是可以傳遞的,A對(duì)象依賴B對(duì)象,B對(duì)象又依賴C對(duì)象,C對(duì)象又依賴D對(duì)象......生生不息,依賴不止,要記住一點(diǎn):只要做到抽象依賴,即使多層的依賴傳遞也無所畏懼。對(duì)象的依賴關(guān)系主要有三種方式來傳遞。


          1、構(gòu)造函數(shù)傳遞依賴對(duì)象

          在類中通過構(gòu)造函數(shù)依賴對(duì)象,安裝依賴注入的說法,這種方式叫做構(gòu)造函數(shù)注入。

          public?interface?ICar?{

          ????//是汽車就應(yīng)該能跑
          ????public?void?run();

          }


          public?interface?IDriver?{

          ????//是司機(jī)就應(yīng)該會(huì)駕駛汽車
          ????public?void?drive();

          }


          public?class?Driver?implements?IDriver{

          ????private?ICar?car;

          ????//構(gòu)造函數(shù)注入
          ????public?Driver(ICar?car)?{
          ????????this.car?=?car;
          ????}

          ????//司機(jī)的主要職責(zé)就是駕駛汽車
          ????@Override
          ????public?void?drive()?{
          ????????car.run();
          ????}

          }


          2、Setter方法傳遞依賴注入

          在抽象中設(shè)置Setter方法聲明依賴關(guān)系,依照依賴注入的說法,這個(gè)Setter依賴注入。

          public?interface?ICar?{

          ????//是汽車就應(yīng)該能跑
          ????public?void?run();

          }


          public?interface?IDriver?{

          ????//車輛的型號(hào)
          ????public?void?setCar(ICar?car);

          ????//是司機(jī)就應(yīng)該會(huì)駕駛汽車
          ????public?void?drive();

          }


          public?class?Driver?implements?IDriver{

          ????private?ICar?car;

          ????@Override
          ????public?void?setCar(ICar?car)?{
          ????????this.car?=?car;

          ????}

          ????//司機(jī)的主要職責(zé)就是駕駛汽車
          ????@Override
          ????public?void?drive()?{
          ????????car.run();
          ????}

          }


          3、接口聲明依賴對(duì)象

          在接口的方法中聲明依賴對(duì)象,該方法也叫做接口注入。

          public?interface?ICar?{

          ????//是汽車就應(yīng)該能跑
          ????public?void?run();

          }


          public?interface?IDriver?{

          ????//是司機(jī)就應(yīng)該會(huì)駕駛汽車
          ????public?void?drive(ICar?car);

          }


          public?class?Driver?implements?IDriver{

          ????//司機(jī)的主要職責(zé)就是駕駛汽車
          ????@Override
          ????public?void?drive(ICar?car)?{
          ????????car.run();
          ????}

          }



          掃碼二維碼

          獲取更多精彩

          Java樂園

          有用!分享+在看?


          瀏覽 80
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  草逼视频网址 | 91欧美在线播放 | 亚洲人在线看77777 | 国产午夜精品福利 | 午夜一级毛片 |