Bridge
// ======= Interface for video quality =======
interface PlayQuality {
void play(String title);
}
// Each class here represents a combination of platform and quality
class WebHDPlayer implements PlayQuality {
public void play(String title) {
// Web player plays in HD
System.out.println("Web Player: Playing " + title + " in HD");
}
}
class MobileHDPlayer implements PlayQuality {
public void play(String title) {
// Mobile player plays in HD
System.out.println("Mobile Player: Playing " + title + " in HD");
}
}
class SmartTVUltraHDPlayer implements PlayQuality {
public void play(String title) {
// Smart TV plays in Ultra HD
System.out.println("Smart TV: Playing " + title + " in ultra HD");
}
}
class Web4KPlayer implements PlayQuality {
public void play(String title) {
// Web player plays in 4K
System.out.println("Web Player: Playing " + title + " in 4K");
}
}
// ============ Main logic ================
public class Main {
public static void main(String[] args) {
PlayQuality player = new WebHDPlayer();
player.play("Interstellar");
}
}Class Diagram

Last updated