Ocena użytkownikóww: ***** / 9
Nadesłany przez Kamil Dworak, 22 grudnia 2010 12:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Main.java:
/****************************************
* Wzorzec Projektowy FlyWeight *
* (pylek) *
* www.algorytm.org *
* Kontakt *
* kamil.dworak.1988[malpka]gmail.com *
* Opracowal Dworak Kamil *
*****************************************/
interface Posilek {
public String dawajNazwe();
}
class Pizza implements Posilek {
public String dawajNazwe(){
return "Pizza";
}
}
abstract class Zmiana implements Posilek {
protected Posilek posilek;
protected Zmiana(Posilek p){
this.posilek = p;
}
public abstract String dawajNazwe();
}
class Sos extends Zmiana {
public Sos(Posilek posilek){
super(posilek);
}
public String dawajNazwe(){
return posilek.dawajNazwe() + " + sos";
}
}
class Ser extends Zmiana {
public Ser(Posilek posilek){
super(posilek);
}
public String dawajNazwe(){
return posilek.dawajNazwe() + " + ser";
}
}
public class Main{
public static void main(String [] args){
Posilek posilek = new Pizza();
posilek = new Sos(posilek);
System.out.println(posilek.dawajNazwe());
posilek = new Ser(posilek);
System.out.println(posilek.dawajNazwe());
}
}