Files

30 lines
1.0 KiB
Java

package bridge;
/**
* Concrete Implementor — a radio.
* Same Device interface, completely different internal behaviour.
*/
public class Radio implements Device {
private boolean on = false;
private int volume = 20;
private int channel = 1; // FM frequency index simplified
@Override public boolean isEnabled() { return on; }
@Override public void enable() { on = true; System.out.println(" [Radio] Powered ON"); }
@Override public void disable() { on = false; System.out.println(" [Radio] Powered OFF"); }
@Override
public int getVolume() { return volume; }
@Override
public void setVolume(int percent) {
this.volume = Math.max(0, Math.min(100, percent));
System.out.println(" [Radio] Volume set to " + this.volume);
}
@Override public int getChannel() { return channel; }
@Override public void setChannel(int ch) { this.channel = ch; System.out.println(" [Radio] Frequency -> " + ch); }
@Override public String getName() { return "JBL Radio"; }
}