小哈兒的 學(xué)習(xí)日記

          像瘋子一樣去戰(zhàn)斗!
          posts - 13, comments - 0, trackbacks - 0, articles - 0
                 工廠方法設(shè)計(jì)模式是一種使用工廠原則的創(chuàng)造型模式。工廠原則就是 通過(guò)調(diào)用一個(gè)方法,這個(gè)方法創(chuàng)造一個(gè)對(duì)象的實(shí)例然后將它返回。通過(guò)向這個(gè)方法傳遞參數(shù)來(lái)決定返回哪個(gè)類型的對(duì)象。
                 工廠方法設(shè)計(jì)模式使用繼承來(lái)決定返回哪個(gè)對(duì)象。基礎(chǔ)的創(chuàng)造類是抽象的。而具體的創(chuàng)造類繼承這個(gè)基類。工廠方法在基類中聲明。如果工廠方法是抽象的,那么所有繼承這個(gè)類的類都必須有這個(gè)方法。如果不是,則可以根據(jù)需要選擇覆蓋它與否。
                 當(dāng)一個(gè)類想實(shí)例化其中一個(gè)具體類的實(shí)例時(shí),這個(gè)類就可以通過(guò)調(diào)用具體類的工廠方法來(lái)生成正確的對(duì)象。
                 舉例來(lái)說(shuō),假設(shè)我們有兩個(gè)類,Product1和Product2。為了能接收到這兩個(gè)類任何一個(gè)的實(shí)例,我們必須讓他們繼承或?qū)崿F(xiàn)相同的類或接口。我們創(chuàng)造一個(gè)叫做Creator的抽象類。如下:
          public abstract class Creator{
              
          public abstract getProduct();
          }
           
                現(xiàn)在我們創(chuàng)造兩個(gè)類繼承Creator,叫做Product1Creator和Product2Creator。每一個(gè)都有一個(gè)getProduct方法。
          例如Product1Creator:
          public class Product1Creator extends Creator{

                     
          public Product getProduct(){
                           
                       
          return new Product1();
          }

          }

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 商南县| 柳江县| 无棣县| 乌鲁木齐市| 永州市| 义乌市| 民勤县| 泊头市| 平舆县| 葵青区| 邯郸县| 仪征市| 定边县| 镇原县| 广丰县| 西平县| 武鸣县| 潮州市| 璧山县| 四会市| 宾阳县| 临澧县| 邹城市| 孟州市| 江都市| 崇信县| 綦江县| 奉化市| 彰化市| 沅陵县| 北安市| 正安县| 绍兴县| 巴中市| 肃宁县| 陵川县| 竹溪县| 苗栗市| 铜山县| 尚志市| 贵定县|