它克æœç®€å•工厂模å¼çš„¾~ºç‚¹åQˆåœ¨ä¸ä¿®æ”¹å…·ä½“工厂角色的情况下扩展äñ”å“)(j¨ª)。在工厂æ–ÒŽ(gu¨©)³•模å¼ä¸ï¼Œæ ¸å¿ƒçš„工厂类ä¸åœ¨è´Ÿè´£æ‰€æœ‰äñ”å“的创å¾åQŒè€Œæ˜¯ž®†å…·ä½“创建的工作交给了å¾cÕdŽ»åšã€‚它仅负责给出具体工厂å¾cÕd¿…™åÕd®žçŽ°çš„æŽ¥å£åQŒè€Œä¸æ¸…楚哪一个äñ”å“类应当被实例化ã€?/P>
åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼
//抽象工厂角色

interface factory
{
public sharp Factory();
}
//---------------------------------------------------------------------------
//具体工厂角色

class circleFactory implements factory
{

public sharp Factory()
{
return new circle();
}
}

class retangleFactory implements factory
{

public sharp Factory()
{
return new retangle();
}
}
//--------------------------------------------
//main method

public class test
{

public static void main(String[] args)
{
new circleFactory().Factory();
}
}

//--------------------------------------------
//具体产å“角色

class circle implements sharp
{

public circle()
{
this.draw();
}

public void draw()
{
System.out.println ("draw1");
}

public void del()
{
System.out.println ("del1");
}
}


class retangle implements sharp
{

public retangle()
{
}

public void draw()
{
System.out.println ("draw2");
}

public void del()
{
System.out.println ("del2");
}
}

//抽象产å“角色

interface sharp
{
public void draw();
public void del();
}



]]>