Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

[JAVA] Design a Ship, CargoShip and CruiseShip class being mindful of behavior o

ID: 3791369 • Letter: #

Question

[JAVA]

Design a Ship, CargoShip and CruiseShip class being mindful of behavior of each. Demonstrate the classes in a program that has a Ship array. Assign various Ships, CruiseShip and CargoShip to the array elements.CargoShip and CruiseShip are a child of Ship class.

Ship -

boolean deck;

int size;

int capacity;

String manufacturer;

String name;

String shiptype

int weight;

Extends Ship

  CargoShip

int containercount;

String exhaustport;

int totalcontainerweight;

String typeofCargo;

String cargoshiptype;

CruiseShip

int numberofguests;

int numberofpools;

String nationality;

int numofrestaurants;

int numberofcasino;

Demo polymorphism --> write two or three overridden methods to demonstrate polymorphism.

Explanation / Answer

Hi.

Please see below the java classes. Please comment for any queries/ feedbacks.

Thanks,

Anita

Ship.java


public class Ship {
   private boolean deck;
   private int size;
   private int capacity;
   private String manufacturer;
   private String name;
   private String shiptype;
   private int weight;
  
   public Ship (   int size,   int capacity,   String manufacturer,   String name,
           String shiptype,   int weight ){
       this.size = size;
       this.capacity = capacity;
       this.manufacturer = manufacturer;
       this.name = name;
       this.shiptype = shiptype;
       this.weight = weight;
   }
   public boolean isDeck() {
       return deck;
   }
   public void setDeck(boolean deck) {
       this.deck = deck;
   }
   public int getSize() {
       return size;
   }
   public void setSize(int size) {
       this.size = size;
   }
   public int getCapacity() {
       return capacity;
   }
   public void setCapacity(int capacity) {
       this.capacity = capacity;
   }
   public String getManufacturer() {
       return manufacturer;
   }
   public void setManufacturer(String manufacturer) {
       this.manufacturer = manufacturer;
   }
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public String getShiptype() {
       return shiptype;
   }
   public void setShiptype(String shiptype) {
       this.shiptype = shiptype;
   }
   public int getWeight() {
       return weight;
   }
   public void setWeight(int weight) {
       this.weight = weight;
   }

   //parent class method displayDetails
   public void displayDetails(){
       System.out.println("This is Ship Class details: ");
       System.out.println("deck : "+this.isDeck());
       System.out.println("size : "+this.getSize());
       System.out.println("Capacity : "+this.getCapacity());
       System.out.println("Manufacturer : "+this.getManufacturer());
       System.out.println("Name : "+this.getName());
       System.out.println("Shiptype : "+this.getShiptype());
       System.out.println("Weigth : "+this.getWeight());
   }
   //parent class method displaySize
   public void displaySize(){
       System.out.println("Ship size: " +this.getSize());
   }
   //parent class method displayType
   public void displayType(){
       System.out.println("Ship Type : "+this.getShiptype());
   }
  
}

CargoShip.java
public class CargoShip extends Ship {
  
  

   private int containercount;
   private String exhaustport;
   private int totalcontainerweight;
   private String typeofCargo;
   private String cargoshiptype;
  
  
   public CargoShip(int size, int capacity, String manufacturer, String name,
           String shiptype, int weight, int containercount, String exhaustport,
           int totalcontainerweight,
           String typeofCargo,String cargoshiptype) {
       super(size, capacity, manufacturer, name, shiptype, weight);
       this.containercount = containercount;
       this.exhaustport = exhaustport;
       this.totalcontainerweight = totalcontainerweight;
       this.typeofCargo = typeofCargo;
       this.cargoshiptype = cargoshiptype;
   }
   public int getContainercount() {
       return containercount;
   }
   public void setContainercount(int containercount) {
       this.containercount = containercount;
   }
   public String getExhaustport() {
       return exhaustport;
   }
   public void setExhaustport(String exhaustport) {
       this.exhaustport = exhaustport;
   }
   public int getTotalcontainerweight() {
       return totalcontainerweight;
   }
   public void setTotalcontainerweight(int totalcontainerweight) {
       this.totalcontainerweight = totalcontainerweight;
   }
   public String getTypeofCargo() {
       return typeofCargo;
   }
   public void setTypeofCargo(String typeofCargo) {
       this.typeofCargo = typeofCargo;
   }
   public String getCargoshiptype() {
       return cargoshiptype;
   }
   public void setCargoshiptype(String cargoshiptype) {
       this.cargoshiptype = cargoshiptype;
   }
  

  
   //Overriden class method displayDetails
   public void displayDetails(){
       System.out.println("This is CargoShip details : ");
       super.displayDetails();
       System.out.println("Containercount : "+this.getContainercount());
       System.out.println("Exhaustport : "+this.getExhaustport());
       System.out.println("Totalcontainerweight : "+totalcontainerweight);
       System.out.println("TypeofCargo : "+this.getTypeofCargo());
       System.out.println("Cargoshiptype : "+this.getCargoshiptype());
   }
   //Overriden class method displayType
   public void displaySize(){
       System.out.println("CargoShip size: " +this.getSize());
   }
  
   //Overriden class method displayType
   public void displayType(){
       System.out.println("CargoShip Type : "+this.getShiptype());
   }

}

CruiseShip.java


public class CruiseShip extends Ship {
  
  

   private int numberofguests;
   private int numberofpools;
   private String nationality;
   private int numofrestaurants;
   private int numberofcasino;
  
   public CruiseShip(int size, int capacity, String manufacturer, String name,
           String shiptype, int weight,int numberofguests,int numberofpools,
               String nationality,int numofrestaurants,int numberofcasino) {
       super(size, capacity, manufacturer, name, shiptype, weight);
       this.numberofguests = numberofguests;
       this.numberofpools = numberofpools;
       this.nationality = nationality;
       this.numofrestaurants = numofrestaurants;
       this.numberofcasino = numberofcasino;
   }
   public int getNumberofguests() {
       return numberofguests;
   }
   public void setNumberofguests(int numberofguests) {
       this.numberofguests = numberofguests;
   }
   public int getNumberofpools() {
       return numberofpools;
   }
   public void setNumberofpools(int numberofpools) {
       this.numberofpools = numberofpools;
   }
   public String getNationality() {
       return nationality;
   }
   public void setNationality(String nationality) {
       this.nationality = nationality;
   }
   public int getNumofrestaurants() {
       return numofrestaurants;
   }
   public void setNumofrestaurants(int numofrestaurants) {
       this.numofrestaurants = numofrestaurants;
   }
   public int getNumberofcasino() {
       return numberofcasino;
   }
   public void setNumberofcasino(int numberofcasino) {
       this.numberofcasino = numberofcasino;
   }
  
   //Overriden class method displayDetails
   public void displayDetails(){
       super.displayDetails();
       System.out.println("This is CruiseShip details : ");
       System.out.println("numberofguests : "+this.getNumberofguests());
       System.out.println("numberofpools : "+this.getNumberofpools());
       System.out.println("nationality : "+this.getNationality());
       System.out.println("numofrestaurants : "+this.getNumofrestaurants());
       System.out.println("numberofcasino : "+this.getNumberofcasino());
   }
   //Overriden class method displaySize
   public void displaySize(){
       System.out.println("CruiseShip size: " +this.getSize());
   }
   //Overriden class method displayType
   public void displayType(){
       System.out.println("CruiseShip Type : "+this.getShiptype());
   }
}

ShipLoader.java


public class ShipLoader {
  
   public static void main(String [] args){
       Ship [] shipArr = new Ship [5];
       Ship ship1 = new CargoShip(100, 100, "AAA", "SHIP1", "CARGO", 100, 100, "100", 1000, "CARGO1", "CARGOTYPE1");
       Ship ship2 = new CruiseShip(200, 200, "BBB", "SHIP2", "CRUISE", 200, 100, 20, "US", 3, 4);
       Ship ship3 = new CargoShip(300, 300, "CCC", "SHIP3", "CARGO", 300, 300, "300", 3000, "CARGO3", "CARGOTYPE3");
       Ship ship4 = new CruiseShip(400, 400, "DDD", "SHIP4", "CRUISE", 200, 100, 40, "US", 5, 6);
       Ship ship5 = new CargoShip(500, 500, "EEE", "SHIP5", "CARGO", 500, 500, "500", 5000, "CARGO5", "CARGOTYPE5");
      
       //Populating ship objects top the array
      
       shipArr[0] = ship1;
       shipArr[1] = ship2;
       shipArr[2] = ship3;
       shipArr[3] = ship4;
       shipArr[4] = ship5;
      
       //Displaying details:
       for(int i=0; i<shipArr.length ; i++){
           Ship shipObj = (Ship) shipArr[i];
           shipObj.displayDetails();
           shipObj.displaySize();
           shipObj.displayType();
       }
      
   }

}

Sample Output:

This is CargoShip details :
This is Ship Class details:
deck : false
size : 100
Capacity : 100
Manufacturer : AAA
Name : SHIP1
Shiptype : CARGO
Weigth : 100
Containercount : 100
Exhaustport : 100
Totalcontainerweight : 1000
TypeofCargo : CARGO1
Cargoshiptype : CARGOTYPE1
CargoShip size: 100
CargoShip Type : CARGO
This is Ship Class details:
deck : false
size : 200
Capacity : 200
Manufacturer : BBB
Name : SHIP2
Shiptype : CRUISE
Weigth : 200
This is CruiseShip details :
numberofguests : 100
numberofpools : 20
nationality : US
numofrestaurants : 3
numberofcasino : 4
CruiseShip size: 200
CruiseShip Type : CRUISE
This is CargoShip details :
This is Ship Class details:
deck : false
size : 300
Capacity : 300
Manufacturer : CCC
Name : SHIP3
Shiptype : CARGO
Weigth : 300
Containercount : 300
Exhaustport : 300
Totalcontainerweight : 3000
TypeofCargo : CARGO3
Cargoshiptype : CARGOTYPE3
CargoShip size: 300
CargoShip Type : CARGO
This is Ship Class details:
deck : false
size : 400
Capacity : 400
Manufacturer : DDD
Name : SHIP4
Shiptype : CRUISE
Weigth : 200
This is CruiseShip details :
numberofguests : 100
numberofpools : 40
nationality : US
numofrestaurants : 5
numberofcasino : 6
CruiseShip size: 400
CruiseShip Type : CRUISE
This is CargoShip details :
This is Ship Class details:
deck : false
size : 500
Capacity : 500
Manufacturer : EEE
Name : SHIP5
Shiptype : CARGO
Weigth : 500
Containercount : 500
Exhaustport : 500
Totalcontainerweight : 5000
TypeofCargo : CARGO5
Cargoshiptype : CARGOTYPE5
CargoShip size: 500
CargoShip Type : CARGO

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote