Design a Ship class that has the following members A member
Design a Ship class that has the following members: •
A member variable for the name of the ship (a string)
•
A member variable for the year that the ship was built (a string)
•
A constructor and appropriate accessors and mutators
•
A virtual print function that displays the ship’s name and the year it was built.
Design a CruiseShip class that is derived from the Ship class. The CruiseShip class should have the following members: •
A member variable for the maximum number of passengers (an int ) •
A constructor and appropriate accessors and mutators
•
A print function that overrides the print function in the base class. The CruiseShip class’s print function should display only the ship’s name and the maximum number of passengers.
Design a CargoShip class that is derived from the Ship class. The CargoShip class should have the following members: •
A member variable for the cargo capacity in tonnage (an int ). •
A constructor and appropriate accessors and mutators.
•
A print function that overrides the print function in the base class. The CargoShip class’s print function should display only the ship’s name and the ship’s cargo capacity.
Demonstrate the classes in a program that has an array of Ship pointers. The array elements should be initialized with the addresses of dynamically allocated Ship ,
CruiseShip , and CargoShip objects. The program should then step through the array, calling each object’s print function.
Solution
import java.util.*;
class Ship
{
Scanner sc= new Scanner(System.in);
String name;
String year;
Ship()
{
name = \"\";
year = \"\";
}
void setName()
{
System.out.println(\"Enter Name :\");
name = sc.nextLine();
}
void setYear()
{
System.out.println(\"Enter Year :\");
year = sc.nextLine();
}
String getShipName()
{
return name;
}
String getShipYear()
{
return year;
}
void print()
{
System.out.println(\"Name :\"+name+\"\\tYear :\"+year);
}
}
class CruiseShip extends Ship
{
int noPass;
Scanner sc= new Scanner(System.in);
CruiseShip()
{
}
void setNoPass()
{
System.out.println(\"Enter No_of_Passangers\");
noPass = sc.nextInt();
}
int getNoPass()
{
return noPass;
}
void print()
{
System.out.println(\"Name : \"+name+\"Year : \"+year+\"Pass : \"+noPass);
}
}
class CargoShip extends Ship
{
int capacity;
Scanner sc=new Scanner(System.in);
CargoShip()
{
}
void setCapacity()
{
System.out.println(\"Enter Capacity\");
capacity = sc.nextInt();
}
int getCargoCapacity()
{
return capacity;
}
void print()
{
System.out.println(\"Name : \"+name+\"Year : \"+year+\"Capacity: \"+capacity);
}
}
class MyClass
{
public static void main(String args[])
{
Ship s= new Ship();
s.setName();
s.setYear();
s.print();
CruiseShip cs=new CruiseShip();
s.setName();
s.setYear();
cs.setNoPass();
cs.print();
CargoShip cao= new CargoShip();
s.setName();
s.setYear();
cao.setCapacity();
cao.print();
}
}


