<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vjame

    優化代碼是無止境的
    隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
    數據加載中……

    抽象工廠


    女媧造物,她可以造人和動物,用陰繩造女人和雌性動物,用陽繩造男人和雄性動物,人要吃東西,會說話。動物也要吃東西,還會睡覺.
    package com.strongit.factory;

    interface Person{
        
    public void eat();
        
    public void talk();
    }

    class Man implements Person{

        
    public void eat() {
            
    // TODO Auto-generated method stub
            System.out.println("男人在吃東西。。。。");
        }

        
    public void talk() {
            
    // TODO Auto-generated method stub
            System.out.println("男人在說話。。。。");
        }
        
    }

    interface Animal{
        
    public void eat();
        
    public void sleep();
    }

    class Bull implements Animal{

        
    public void eat() {
            
    // TODO Auto-generated method stub
            System.out.println("公牛在吃東西。。。。");
        }

        
    public void sleep() {
            
    // TODO Auto-generated method stub
            System.out.println("公牛在睡覺。。。。");
        }
        
    }
    class Cow implements Animal{

        
    public void eat() {
            
    // TODO Auto-generated method stub
            System.out.println("母牛在吃東西。。。。");
        }

        
    public void sleep() {
            
    // TODO Auto-generated method stub
            System.out.println("母牛在睡覺。。。。");
        }
        
    }

    class Woman implements Person{

        
    public void eat() {
            
    // TODO Auto-generated method stub
            System.out.println("女人在吃東西。。。。");
        }

        
    public void talk() {
            
    // TODO Auto-generated method stub
            System.out.println("女人在說話。。。。");
        }
        
    }

    //表示女媧
    interface NWFactory{
        
    public Person createPerson(String type);
        
    public Animal createAnimal(String type);
    }

    //陽繩-->用來造男人和雄性動物(Bull)
    class YangSheng implements NWFactory{

        Man man 
    = null;
        Bull bull 
    = null;
        
    public Bull createAnimal(String type) {
            
    try {
                bull 
    = (Bull)Class.forName("com.strongit.factory."+type).newInstance();
            } 
    catch (InstantiationException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (ClassNotFoundException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    return bull;
        }

        
    public Man createPerson(String type) {
            
    try {
                man 
    = (Man)Class.forName("com.strongit.factory."+type).newInstance();
            } 
    catch (InstantiationException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (ClassNotFoundException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    return man;
        }
    }

    //陰繩-->用來造女人和雌性動物(Cow)
    class YinSheng implements NWFactory{

        Woman woman 
    = null;
        Cow cow 
    = null;
        
    public Cow createAnimal(String type) {
            
    try {
                cow 
    = (Cow)Class.forName("com.strongit.factory."+type).newInstance();
            } 
    catch (InstantiationException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (ClassNotFoundException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    return cow;
        }

        
    public Woman createPerson(String type) {
            
    try {
                woman 
    = (Woman)Class.forName("com.strongit.factory."+type).newInstance();
            } 
    catch (InstantiationException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (ClassNotFoundException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    return woman;
        }
        
    }


    public class FactoryDemo1 {

        
    /**
         * 
    @param args
         
    */
        
    public static void main(String[] args) {
            
    // TODO Auto-generated method stub
            
    //實例化一個陽繩,ys
            YangSheng ys=new YangSheng();
            
    //實例化一個陰繩,ys1
            YinSheng ys1=new YinSheng();
            
    //造男人和女人,p1是男人,p2是女人
            Person p1=ys.createPerson("Man");
            Person p2
    =ys1.createPerson("Woman");
            
    //造動物,a1是公牛(Bull),a2是母牛(Cow)
            Animal a1=ys.createAnimal("Bull");
            Animal a2
    =ys1.createAnimal("Cow");
            a1.eat();
            a1.sleep();
            a2.eat();
            a2.sleep();
            p1.eat();
            p1.talk();
            p2.eat();
            p2.talk();

        }

    }

    源代碼下載: http://www.tkk7.com/Files/vjame/FactoryDemo03.rar

    posted on 2008-11-26 15:59 lanjh 閱讀(232) 評論(0)  編輯  收藏 所屬分類: 設計模式


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 美女被爆羞羞网站免费| 亚洲人成伊人成综合网久久| 亚洲va中文字幕| 人人狠狠综合久久亚洲88| 美国毛片亚洲社区在线观看| 国产免费一区二区三区VR| 噜噜综合亚洲AV中文无码| 在线免费观看国产视频| 久久亚洲精品11p| 国产一级一片免费播放i| 老妇激情毛片免费| 亚洲国产精品成人一区| 人人爽人人爽人人片A免费| 国产成人99久久亚洲综合精品| 国产av无码专区亚洲av毛片搜| 在线a亚洲v天堂网2018| 亚洲av鲁丝一区二区三区| 久久成人免费电影| 亚洲成人福利在线| 无码高潮少妇毛多水多水免费| 亚洲色大情网站www| 免费a级毛片18以上观看精品| 无套内射无矿码免费看黄| 亚洲精品乱码久久久久久蜜桃不卡| 中文字幕在线免费看线人| 久久精品国产亚洲AV无码娇色 | 怡红院亚洲怡红院首页| 国产免费无码一区二区| 亚洲性色成人av天堂| 日韩中文字幕免费| baoyu122.永久免费视频| 自怕偷自怕亚洲精品| 日韩免费高清一级毛片在线| 一级特黄录像视频免费| 亚洲视频一区二区在线观看| 成人看的午夜免费毛片| EEUSS影院WWW在线观看免费| 自怕偷自怕亚洲精品| 亚洲精品无码久久久| 久久99国产乱子伦精品免费| 亚洲精品伦理熟女国产一区二区 |