A super class Demand has been defined to store the details of the demands for a product. Define a subclass Supply which contains the production and supply details of the products.
The details of the members of both the classes are given below:
Class name: Demand
Data members/instance variables:
pid: string to store the product ID
pname: string to store the product name
pdemand: integer to store the quantity demanded for the product
Methods/Member functions:
Demand(…): parameterized constructor to assign values to the data members
void display(): to display the details of the product
Class name: Supply
Data members/instance variables:
pproduced: integer to store the quantity of the product produced
prate: to store the cost per unit of the product in decimal
Methods/Member functions:
Supply(…): parameterized constructor to assign values to the data members of both the classes
double calculation(): returns the difference between the amount of demand (rate × demand) and the amount produced (rate × produced)
void display(): to display the details of the product and the difference in amount of demand and amount of supply by invoking the method calculation()
Assume that the super class Demand has been defined. Using the concept of inheritance, specify the class Supply giving the details of the constructor(…), double calculation() and void display().
The super class, main function and algorithm need not be written.
import java.util.Scanner;
class Demand{
protected int pid;
protected String pname;
protected int pdemand;
public Demand(int id, String n, int d){
pid = id;
pname = n;
pdemand = d;
}
public void display(){
System.out.println("Product ID" + pid);
System.out.println("Product name: " + pname);
System.out.println("Product demand: " + pdemand);
}
}
class Supply extends Demand{
int pproduced;
double prate;
public Supply(int id, String n, int d, int pp, double r){
super(id, n, d);
pproduced = pp;
prate = r;
}
public double calculation(){
return (prate * pdemand - prate * pproduced);
}
public void display(){
super.display();
System.out.println("Product produced: " + pproduced);
System.out.println("Product cost per unit: " + prate);
System.out.println("Difference: " + calculation());
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Product ID: ");
int id = Integer.parseInt(in.nextLine());
System.out.print("Product name: ");
String n = in.nextLine();
System.out.print("Product demand: ");
int d = Integer.parseInt(in.nextLine());
System.out.print("Product produced: ");
int pp = Integer.parseInt(in.nextLine());
System.out.print("Product cost per unit: ");
double r = Double.parseDouble(in.nextLine());
Supply obj = new Supply(id, n, d, pp, r);
obj.display();
}
}