Data Interface Java Program | ISC Computer Science 2020 Theory

An interface Data is defined with a data member and a method volume() which returns the volume of the implementing shape. A super class Base has been defined to contain the radius of a geometrical shape. Define a subclass CalVol which uses the properties of the interface Data and the class Base and calculates the volume of a cylinder.

The details of the members of the interface and both the classes are given below:

Interface name: Data
Data member:
double pi: initialize pi = 3.142
Member functions/methods:
double volume():

Class name: Base
Data member/instance variable:
rad: to store the radius in decimal
Member functions/methods:
Base(…): parameterized constructor to initialize the data member
void show(): displays the radius with an appropriate message

Class name: CalVol
Data member/instance variable:
ht: to store the height in decimal
Member functions/methods:
CalVol(…): parameterized constructor to initialize the data members of both the classes
double volume(): calculates the volume of a sphere by using the formula (pi × radius2 × height)
void show(): displays the data members of both the classes and the volume of the cylinder with appropriate message.

Assume that the interface Data and the super class Base has been defined. Using the concept of inheritance, specify the class CalVol giving the details of the constructor(…), double volume() and void show().

The interface, super class, main() function and algorithm need not be written.

import java.util.Scanner;
interface Data{
    double pi = 3.142;
    double volume();
}
class Base{
    double rad;
    public Base(double r){
        rad = r;
    }
    public void show(){
        System.out.println("Radius: " + rad);
    }
}
class CalVol extends Base implements Data{
    double ht;
    public CalVol(double r, double h){
        super(r);
        ht = h;
    }
    public double volume(){
        return pi * rad * rad * ht;
    }
    public void show(){
        super.show();
        System.out.println("Height: " + ht);
        System.out.println("Volume of sphere: " + volume());
    }
}
class Shape{
    public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        System.out.print("Radius of sphere: ");
        double r = Double.parseDouble(in.nextLine());
        System.out.print("Height of sphere: ");
        double h = Double.parseDouble(in.nextLine());
        CalVol obj = new CalVol(r, h);
        obj.show();
    }
}