algorytm.org

Implementacja w Java

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Pyłek (flyweight) - Implementacja w Java
Ocena użytkownikóww: *****  / 9
SłabyŚwietny
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());
	}
}


Dodaj komentarz