fork download
  1. interface IDongle {
  2. public abstract boolean connect();
  3. }
  4.  
  5. abstract class DongleManager implements IDongle {
  6.  
  7. private boolean connected = false;
  8. public void setConnected(boolean status) {
  9. connected = status;
  10. }
  11. public boolean getConnected() {
  12. return connected;
  13. }
  14. }
  15.  
  16. class SimulatedDongle extends DongleManager {
  17. @Override
  18. public boolean connect() {
  19. System.out.println("Connceting with SimulatedDongle");
  20. return true;
  21. }
  22. }
  23.  
  24. class RealDongle extends DongleManager {
  25. @Override
  26. public boolean connect() {
  27. System.out.println("Connceting with RealDongle");
  28. return true;
  29. }
  30. }
  31.  
  32. public class Main {
  33. public static void main(String[] args) {
  34. DongleManager dongle = new SimulatedDongle();
  35. dongle.getConnected();
  36. dongle.connect();
  37.  
  38. dongle = new RealDongle();
  39. dongle.getConnected();
  40. dongle.connect();
  41. }
  42. }
Success #stdin #stdout 0.08s 380160KB
stdin
Standard input is empty
stdout
Connceting with SimulatedDongle
Connceting with RealDongle