• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            asm, c, c++ are my all
            -- Core In Computer
            posts - 139,  comments - 123,  trackbacks - 0

            ??? 類可以提供一個公有的靜態工廠方法,它用來返回這個類的實例,從而可以構造這個類的對象。

            靜態工廠方法的好處:

            1. 它與構造函數不同,靜態工廠方法具有名字。這個好處可以幫助我們擺脫一個類只能有一個原型相同的構造函數的限制。舉個例子來說:

            public class A

            {

            pubilc int sum=0;

            public int div=0;

            public A(int a,int b)

            {

            sum=a+b;

            // 利用 a b 在這里初始化 A 的實例

            }

            ?

            public A(int a,int b)????????? // 明顯的錯誤

            {

            div=a/b;

            }

            }

            就像上面代碼所示,這么做是絕對不可能的,構造函數的簽名只在參數上進行區分,如果我們想用同一種參數實現不同的構造函數,那么構造函數的局限性就肯定了它是做不到的。但是我們可以利用靜態工廠方法來輕松解決這個問題:

            public class A

            {

            public int sum=0;

            public int div=0;

            public static A Sum(int a,int b)

            {

            A a1=new A();

            a1.sum=a+b;

            return a1;

            }

            public static A Div(int a,int b)

            {

            A a1=new A();

            a1.div=a/b;

            return a1;

            }

            }

            很明顯,我們可以用相同的參數來構造不同的對象了,如:

            A a1=A.Sum(5,5);

            A a2=A.Div(5,5);

            我們做了什么一幕了然。當然這個例子可能有些不倫不類,但是在這里僅僅想說明這個問題,很極端但是很明確。

            1. 靜態工廠方法每次被調用的時候,不要求非得創建一個新的對象。有的時候我們僅僅需要這個類所表示某些項,但是不需要這個類的實例,那么靜態工廠方法可以很好的滿足這個要求。
            2. 靜態工廠方法可以返回一個原返回類型的子類型的對象。

            靜態工廠方法的缺點:

            1. 類如果不含公有的或者受保護的構造函數,就不能被子類化。對于公有的靜態工廠所返回的非公有類,也是同樣的。如果一個類沒有共有的或者受保護的構造函數,那么這個類就不能被繼承。
            2. 靜態工廠方法與其他的靜態方法沒有任何區別。 API 文檔中,它們不會像構造函數那樣被明確標識出來。
            posted on 2006-10-18 23:11 Jerry Cat 閱讀(1499) 評論(2)  編輯 收藏 引用

            FeedBack:
            # re: 創建和銷毀對象--考慮用靜態工廠方法代替構造函數
            2006-10-18 23:13 | Jerry Cat
            不知here有沒有南京的兄弟, 我以前南京的一個同學趙小姐要我幫忙發個租房消息, 某雖不懂但老同學的事也不好推, 將就如下:

            現有位于南京市江寧區"武夷花園"小區的三室一廳住房一套, 水,電,氣齊全, 室內有熱水器, 電視機及床, 衣柜等簡單家具. 整租, 與人合租均可. 聯系人: 趙小姐 電話:025-83909202  回復  更多評論
              
            # re: 創建和銷毀對象--考慮用靜態工廠方法代替構造函數
            2008-07-20 10:44 | xuxiaoguang
            public class A

            {

            pubilc int sum=0;

            public int div=0;

            public A(int a,int b)

            {

            sum=a+b;

            // 利用 a 和 b 在這里初始化 A 的實例

            div=a/b; //實際上參數個數和類型相同,就可以使用同一個構造函數

            }


            }

              回復  更多評論
              

            <2006年4月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产精品青草| 亚洲欧美日韩精品久久亚洲区| 久久精品人成免费| 99久久精品国内| 精品久久久久久无码人妻热| 国产精品久久新婚兰兰| 97久久久久人妻精品专区| 久久精品无码一区二区三区日韩| 2020久久精品亚洲热综合一本| 亚洲愉拍99热成人精品热久久 | 伊人色综合久久天天网| 性高湖久久久久久久久| 精品99久久aaa一级毛片| 亚洲中文字幕无码久久2020| 99久久精品国产一区二区| 久久久久青草线蕉综合超碰| 国内精品久久久久久麻豆| 久久久精品人妻一区二区三区四| 久久精品无码一区二区三区日韩 | 精品久久久无码人妻中文字幕| 九九久久自然熟的香蕉图片| 香蕉久久AⅤ一区二区三区| 狠狠色丁香婷综合久久| 久久亚洲精品成人无码网站| 国产午夜精品久久久久九九| 国产精品国色综合久久| 国产精品久久久久久久久软件| 国产精品女同一区二区久久| 韩国三级大全久久网站| 97精品国产91久久久久久| 久久精品人人做人人妻人人玩| 久久精品国产精品亚洲精品| 综合久久一区二区三区 | 国产亚洲精久久久久久无码| 久久人人爽人人爽人人片av麻烦| 久久伊人亚洲AV无码网站| 99热精品久久只有精品| 久久国产精品波多野结衣AV| 伊人久久综在合线亚洲2019| 欧美激情精品久久久久| 99久久精品免费看国产|