A superclass Flight has been defined to store the details of a flight. Define a subclass Passenger to calculate the fare for a passenger.
The details of the members of both the classes are given below:
Class name: Flight
Data members/instance variables:
flightno: to store the flight number in string
dep_time: to store the departure time in string
arr_time: to store the arrival time in string
basefare: to store the base fare in decimal
Methods/Member functions:
Flight(…): parameterized constructor to assign values to the data members
void show(): to display the flight details
Class name: Passenger
Data members/instance variables:
id: to store the ID of the passenger
name: to store the name of the passenger
tax: to store the tax to be paid in decimal
tot: to store the total amount to be paid in decimal
Methods/Member functions:
Passenger(…): parameterized constructor to assign values to the data members of both the classes
void cal(): to calculate the tax as 5% of base fare and total amount (base fare + tax)
void show(): to display the flight details along with the passenger details and total amount to be paid
Assume that the super class Flight has been defined. Using the concepts of Inheritance, specify the class Passenger giving details of the constructor, void cal() and void show().
The super class, main() function and algorithm need not be written.
import java.util.Scanner;
class Flight{
protected String flightno;
protected String dep_time;
protected String arr_time;
protected double basefare;
protected Flight(String f, String d, String a, double b){
flightno = f;
dep_time = d;
arr_time = a;
basefare = b;
}
protected void show(){
System.out.println("Flight No. " + flightno);
System.out.println("Departure Time: " + dep_time);
System.out.println("Arrival Time: " + arr_time);
System.out.println("Base Fare: " + basefare);
}
}
class Passenger extends Flight{
int id;
String name;
double tax;
double tot;
public Passenger(String f, String d, String a, double b, int i, String n){
super(f, d, a, b);
id = i;
name = n;
}
public void cal(){
tax = 0.05 * basefare;
tot = basefare + tax;
}
public void show(){
super.show();
System.out.println("Tax: " + tax);
System.out.println("Total amount: " + tot);
}
}
class Inheritance{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Flight number: ");
String f = in.nextLine();
System.out.print("Departure Time: ");
String d = in.nextLine();
System.out.print("Arrival Time: ");
String a = in.nextLine();
System.out.print("Base Fare: ");
double b = Double.parseDouble(in.nextLine());
System.out.print("Passenger ID: ");
int i = Integer.parseInt(in.nextLine());
System.out.print("Passenger Name: ");
String n = in.nextLine();
Passenger obj = new Passenger(f, d, a, b, i, n);
obj.cal();
obj.show();
}
}