Wednesday , 28 June 2017
Home » Class 12 » [Question 12 (Inheritance)] ISC 2012 (Theory) Paper Solved

[Question 12 (Inheritance)] ISC 2012 (Theory) Paper Solved

Question:

A super class Detail has been defined to store the details of a customer. Define a subclass Bill to compute the monthly telephone charge of the customer as per the chart given below:

Number Of Calls
1 – 100
101 – 200
201 – 300
Above 300

Rate
Only Rental charge
60 paisa per call + rental charge
80 paisa per call + rental charge
1 rupee per call + rental charge

The details of both the classes are given below:

Class Name : Detail

Data members / Instance variables:
name : to store the name of the customer.
address : to store the address of the customer.
telno : to store the phone number of the customer.
rent : to store the monthly rental charge

Member functions:
Detail(…) : parameterized constructor to assign values to data members.
void show() : to display the detail of the customer.

Class Name : Bill

Data members / Instance variables:
n : to store the number of calls.
amt : to store the amount to be paid by the customer.

Member functions:
Bill(…) : parameterized constructor to assign values to data members of both classes and to initialize amt = 0.0.
void cal() : calculates the monthly telephone charge as per the charge given above.
void show() : to display the detail of the customer and amount to be paid.

Specify the class Detail giving details of the constructor( ) and void show(). Using the concept of inheritance, specify the class Bill giving details of the constructor( ), void cal() and void show().

The main function and algorithm need not be written.

[Note: We will be writing the main() function also in this program so as to familiarize the students on how to run programs based on the concept of inheritance.]

Programming Code:

/**
* The superclass Detail stores the details of a customer and the subclass Bill calculates the telephone bill
* @author : www.javaforschool.com
* @Program Type : BlueJ Program - Java
* @Question Year : ISC Theory 2012 Question 12
*/

import java.io.*;
class Detail //superclass
    {
        String name, address;
        long telno;
        double rent;
        
        Detail(String n1, String a1, long t1, double r1)
        {
            name = n1;
            address = a1;
            telno = t1;
            rent = r1;
        }
        
        void show()
        {
            System.out.println("Name of customer = "+name);
            System.out.println("Address = "+address);
            System.out.println("Telephone Number = "+telno);
            System.out.println("Monthly Rental = Rs. "+rent);
        }
    } //end of superclass Detail

class Bill extends Detail //subclass
    {
        int n;
        double amt;
        
        Bill(String n1, String a1, long t1, double r1, int c)
        {
            super(n1,a1,t1,r1); //initializing data members of superclass by calling its constructor
            n = c;
            amt = 0.0;
        }
        
        void cal()
        {
            if(n>=1 && n<=100)
                amt = rent;
            else if(n>=101 && n<=200)
                amt = 0.6*n + rent;
            else if(n>=201 && n<=300)
                amt = 0.8*n + rent;
            else
                amt = 1*n + rent;
        }
        
        void show()
        {
            super.show(); //calling the superclass function show()
            System.out.println("No. of calls = "+n);
            System.out.println("Amount to be paid = Rs. "+amt);
        }
    } //end of subclass Bill

/* In your exams you don't need to write the below given code
   We are writing it so as to familiarize the students on how to run
   programs based on the concept of inheritance.*/

public class Question12_ISC2012 //Class which will contain the main() method and execute the program
    {
        public static void main(String args[])throws IOException
        {
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Enter the name : ");
            String n1=br.readLine();
            System.out.print("Enter the address : ");
            String a1=br.readLine();
            System.out.print("Enter the telephone number : ");
            long t1=Long.parseLong(br.readLine());
            System.out.print("Enter the monthly rental : ");
            double r1=Double.parseDouble(br.readLine());
            System.out.print("Enter the number of calls : ");
            int c=Integer.parseInt(br.readLine());

            Bill ob=new Bill(n1,a1,t1,r1,c); //creating object of subclass
            System.out.println("*** Output ***");
            ob.cal();
            ob.show(); //calling show() function of subclass
        }
    }

Output:

Enter the name : Java For School
Enter the address : 123, Sample Street
Enter the telephone number : 1234567890
Enter the monthly rental : 180
Enter the number of calls : 270
*** Output ***
Name of customer = Java For School
Address = 123, Sample Street
Telephone Number = 1234567890
Monthly Rental = Rs. 180.0
No. of calls = 270
Amount to be paid = Rs. 396.0

Check Also

[Question 2] ISC 2017 Computer Practical Paper Solved – Quiz Result

Solution of Program 2 of ISC 2017 Computer Science Paper 2 (Practical) Exam. Java program to input the answers of each participant row-wise and calculate their marks

One comment

  1. Very helpful
    It’s best… O:)

Leave a Reply to Abhishek Shah Cancel reply

Your email address will not be published. Required fields are marked *