Question: Write a program in Java. Ship, CruiseShip, CargoShip Classes, and Displayable Interface Ship class implements Displayable interface. ` ` ` public interface Displayable { void

Write a program in Java.
Ship, CruiseShip, CargoShip Classes, and Displayable Interface
Ship class implements Displayable interface.
```
public interface Displayable
{
void display();/
}
```
Design an abstract Ship class that has the following members:
- A field for the name of the ship (a string).
- A field for the year that the ship was built (a string).
- A constructor and appropriate accessor and mutators.
- A toString method that displays the ships name and the year it was built.
- Override the display() method from Displayable Interface that displays the ships name and the year it was built.
Design a CruiseShip class that extends the Ship class. The CruiseShip class should have the following members:
- A field for the maximum number of passengers (an int).
- A constructor, a copy constructor, and appropriate accessors and mutators.
- A toString method that overrides the toString method in the base class. The CruiseShip class's toString method should return only the ship's name and the maximum number of passengers.
- Override the display() method from Displayable Interface that displays the cruise ships' information. Design a CargoShip class that extends the Ship class. The CargoShip class should have the following members:
- A field for the cargo capacity in tonnage (an int).
- A constructor, a copy constructor, and appropriate accessors and mutators.
- toString method that overrides the toString method in the base class. The CargoShip class's toString method should display only the ship's name and the ship's cargo capacity.
- Override the display() method from Displayable Interface that displays the cargo ships' information.
In a driver program (shipDemo.java)
- Demonstrate the classes in a Ship array. Assign various CruiseShip and CargoShip objects to the array elements. The program should then step through the array, calling each object's display() method. (polymorphism)
- Create an ArrayList of Ship objects and add various CruiseShip and CargoShip objects to the array list. The program should then step through the array list, calling each object's toString() method. (polymorphism)
- Test your copy constructors in both CruiseShip and CargoShip in shipDemo.java Resource:
- UML
- Sample Program (OOP_example_2)
Abstract
class
interface Include the following:
Source code
- Displayable.java
- Ship.java
- CargoShip.java
- CruiseShip.java
- ShipDemo.java
- Output Screenshot(s)
- Comments (in the source code)
Write a program in Java. Ship, CruiseShip,

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!