Perimeter Area Inheritance ISC 2013 Theory

A superclass Perimeter has been defined to calculate the perimeter of a parallelogram. Define a subclass Area to compute the area of the parallelogram by using the required data members of the super class. The details are given below:
Class name: Perimeter
Data members/instance variables:
a: to store the length in decimal.
b: to store the breadth in decimal.
Member functions:
Perimeter(…): parameterized constructor to assign values to data members.
double calculate(): calculate and return the perimeter of a parallelogram as 2 * (length + breadth).
void show(): to display the data members along with the perimeter of the parallelogram.

Class name: Area
Data members/instance variables:
h: to store the height in decimal.
area: to store the area of the parallelogram.
Member functions:
Area(…): parameterized constructor to assign values to data members of both the classes.
void doArea(): compute the area as (breadth * height)
void show(): display the data members of both classes along with the area and perimeter of the parallelogram.

Specify the class Perimeter giving details of the constructor, double calculate() and void show(). Using the concept of inheritance, specify the class Area giving details of the constructor, void doArea() and void show().

The main() function and algorithm need not be written.

class Perimeter{
double a;
double b;
public Perimeter(double length, double width){
a = length;
b = width;
}
public double calculate(){
return 2 * (a + b);
}
public void show(){
System.out.println("Length: " + a);
System.out.println("Breadth: " + b);
System.out.println("Perimeter: " + calculate());
}
}
class Area extends Perimeter{
double h;
double area;
public Area(double length, double width, double height){
super(length, width);
h = height;
area = 0.0;
}
public void doArea(){
area = b * h;
}
public void show(){
super.show();
System.out.println("Height: " + h);
System.out.println("Area: " + area);
}
}