« Patrons de conception/Prototype » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 85 :
== Exemple de code en JAVA ==
/* Prototype Class */
public class Cookie implements Cloneable
{▼
public Object clone()
{
try
//
// the expensive to produce parts from the copies that are held inside the prototype.
return this.getClass().newInstance();▼
▲ }
▲ return this.getClass().newInstance();
catch(InstantiationException e)▼
▲ catch(InstantiationException e)
}▼
}▼
▲ }
▲ }
/* Concrete Prototypes to clone */▼
▲ /* Concrete Prototypes to clone */
public class CoconutCookie extends Cookie { }▼
▲ public class CoconutCookie extends Cookie { }
/* Client Class*/▼
▲ /* Client Class */
public class CookieMachine▼
▲{
▲ public class CookieMachine
{
private Cookie cookie; // could have been a private Cloneable cookie;
public CookieMachine(Cookie cookie) { ▼
public CookieMachine(Cookie
this.cookie = cookie;
public Cookie makeCookie() { ▼
}
▲ }
public
{
public static void main(String args[]){ ▼
}
▲ Cookie tempCookie = null;
Cookie prot = new CoconutCookie(); ▼
CookieMachine cm = new CookieMachine(prot); ▼
for(int i=0; i<100; i++) ▼
tempCookie = cm.makeCookie(); ▼
Cookie tempCookie = null;
}▼
▲ Cookie prot = new CoconutCookie();
▲ CookieMachine cm = new CookieMachine(prot);
▲ tempCookie = cm.makeCookie();
}
▲ }
== Exemples ==
|