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?

Most (bridge) - Implementacja w Java
Ocena użytkownikóww: *****  / 6
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 Bridge           *
*   (most)                             *   
*   www.algorytm.org                    *
*   Kontakt                             * 
*   kamil.dworak.1988[malpka]gmail.com  *
*   Opracowal Dworak Kamil              *
*****************************************/

enum Tlok { 
	cd,
	dvd,
	bd; }


interface PlytkaInterface {
	public void akcja(); 
}


abstract class Plytka {
	protected PlytkaInterface plytkaInterface;
	protected Tlok type;
	protected String name;
	
	
	public Plytka(Tlok type, String name, PlytkaInterface plytkaImp){
		this.type = type;
		this.name = name;
		this.plytkaInterface = plytkaImp;
		}
	
	
	public String Get(){ 
		return name + " " + type; 
	}
	
	
	public void Set(String s, Tlok type){ 
		 this.name = s;
		 this.type = type;
	}
	
	
	public abstract void akcja();
}



class KPlytka extends Plytka {
	public KPlytka(Tlok type, String name, PlytkaInterface plytkaInterface){
		super(type,name,plytkaInterface);
	}
	
	public void akcja() {
		plytkaInterface.akcja();
	}
	
}


class Nagrywanie implements PlytkaInterface {
	public void akcja(){
	System.out.println("Nagrywam plytke");
	}
}


class Odczytywanie implements PlytkaInterface {
	public void akcja(){
		System.out.println("Odczytuje plytke");
	}
}


public class Main {
	public static void main(String[] args){
		Plytka ob1 = new KPlytka(Tlok.dvd, "TDK", new Nagrywanie());
		Plytka ob2 = new KPlytka(Tlok.cd, "Dysan", new Odczytywanie());
		ob1.akcja();
		System.out.println(ob1.Get() + "\n");
		ob2.akcja();
		System.out.println(ob2.Get() + "\n");
		ob1.Set("Verbatim", Tlok.bd);
		ob1.akcja();
		System.out.println(ob1.Get() + "\n");
	}
}
Dodaj komentarz