fork(2) download
  1. class SpaceShip{
  2. public String CollideWith(Asteroid a){
  3. return a.CollideWith(this);
  4. }
  5. public String CpllideWith(ExplodingAsteroid ea){
  6. return ea.CollideWith(this);
  7. }
  8. }
  9. class GiantSpaceShip extends SpaceShip{
  10. public String CollideWith(Asteroid a){
  11. return a.CollideWith(this);
  12. }
  13. public String CpllideWith(ExplodingAsteroid ea){
  14. return ea.CollideWith(this);
  15. }
  16. }
  17.  
  18. class Asteroid{
  19. public String CollideWith(SpaceShip ss){
  20. return "Asteroide acertou uma nave";
  21. }
  22. public String CollideWith(GiantSpaceShip gss){
  23. return "Asteroide acertou uma nave gigante";
  24. }
  25. }
  26. class ExplodingAsteroid extends Asteroid{
  27. public String CollideWith(SpaceShip ss){
  28. return "Asteroide explosivo acertou uma nave";
  29. }
  30. public String CollideWith(GiantSpaceShip gss){
  31. return "Asteroide explosivo acertou uma nave gigante";
  32. }
  33. }
  34.  
  35. class Ideone
  36. {
  37. public static void main (String[] args) throws java.lang.Exception
  38. {
  39. SpaceShip A = new SpaceShip();
  40. GiantSpaceShip B = new GiantSpaceShip();
  41. Asteroid normal = new Asteroid();
  42. ExplodingAsteroid explosivo = new ExplodingAsteroid();
  43. System.out.println(A.CollideWith(normal));
  44. System.out.println(A.CollideWith(explosivo));
  45. System.out.println(B.CollideWith(normal));
  46. System.out.println(B.CollideWith(explosivo));
  47. }
  48. }
Success #stdin #stdout 0.08s 50884KB
stdin
Standard input is empty
stdout
Asteroide acertou uma nave
Asteroide explosivo acertou uma nave
Asteroide acertou uma nave gigante
Asteroide explosivo acertou uma nave gigante