Description:
In this program we are going to use polymorphism using the keyword implements as we create three classes: Plane(), Car(), Ship() that implement each interface methods.
The output should be exact like the following:
Plane flying forward
Plane taxiing backward
Plane landed
Plane flying left
Plane flying right
———————
Car drives forward
Car drives backward
Car parked
Car turns left
Car turns right
———————
Ship navigates forward
Ship navigates backward
Ship docked
Ship navigates left
Ship navigates right
———————
Code:
Movable.java
package lab_4; public interface Movable { public void moveForward(); public void moveBackward(); public void stop(); public void moveLeft(); public void moveRight(); }
Plane.java
package lab_4; public class Plane implements Movable { @Override public void moveForward() { System.out.println("Plane flying forward"); } @Override public void moveBackward() { System.out.println("Plane taxiing backward"); } @Override public void stop() { System.out.println("Plane landed"); } @Override public void moveLeft() { System.out.println("Plane flying left"); } @Override public void moveRight() { System.out.println("Plane flying right"); } }
Car.java
package lab_4; public class Car implements Movable { @Override public void moveForward() { System.out.println("Car drives forward"); } @Override public void moveBackward() { System.out.println("Car drives backward"); } @Override public void stop() { System.out.println("Car parked"); } @Override public void moveLeft() { System.out.println("Car drives left"); } @Override public void moveRight() { System.out.println("Car drives right"); } }
Ship.java
package lab_4; public class Ship implements Movable { @Override public void moveForward() { System.out.println("Ship navigates forward"); } @Override public void moveBackward() { System.out.println("Ship navigates backward"); } @Override public void stop() { System.out.println("Ship docked"); } @Override public void moveLeft() { System.out.println("Ship navigates left"); } @Override public void moveRight() { System.out.println("Ship navigates right"); } }
PolyMovable.java
package lab_4; public class PolyMovable { public static void main(String[] args) { Movable[] myMovable = new Movable[3]; myMovable[0] = new Plane(); myMovable[1] = new Car(); myMovable[2] = new Ship(); for (Movable a: myMovable) { a.moveForward(); a.moveBackward(); a.stop(); a.moveLeft(); a.moveRight(); System.out.println("---------------------"); } } }