//Java簡單的對象工廠
import java.util.Date;//using the Date Class to testing
//
public Object GetMeObject (){
/
}
public void ChengeFactoryObject (Object o){
_factoryName=o.getClass ().toString ();
_ob=o;
_count=0;
}
public String GetFactoryName (){
return _factoryName;
}
public int GetFactoryObjectCount (){
return _count;
}
}
//沒有任何功能的作測試用的類
class TestClassABC{
public String toString(){
return "This is a TestClassABC' s Object";
}
}
/
public Main () {
}
public static void main (String[] args) {
System.out.println ("Access");
Factory f=new Factory (new TestClassABC ());//工廠f
Factory f2=new Factory(new String("Testing"));//工廠f2
Object a=f.GetMeObject ();
Object b=f.GetMeObject ();
/
System.out.println ("這個對象工廠能夠産生的對象名稱: "+f.GetFactoryName ());
System.out.println ("至今為止工廠産生的對象"+f.GetFactoryName ()+"數是:"+f.GetFactoryObjectCount ());
//System.out.println(a);
System.out.println ("這個對象工廠能夠産生的對象名稱: "+f2.GetFactoryName ());
System.out.println ("至今為止工廠産生的對象"+f2.GetFactoryName ()+"數是:"+f2.GetFactoryObjectCount ());
f.ChengeFactoryObject (new Integer (0));
Object t1=f.GetMeObject ();
Object t2=f.GetMeObject ();
System.out.println ("這個對象工廠能夠産生的對象名稱: "+f.GetFactoryName ());
System.out.println ("至今為止工廠産生的對象"+f.GetFactoryName ()+"數是:"+f.GetFactoryObjectCount ());
//t1=100;
//System.out.println (t1);
//System.out.println (t2);
f.ChengeFactoryObject(new Date());
Date d1=(Date)f.GetMeObject();
Date d2=(Date)f.GetMeObject();
}
}