Consider my code below which serves to book flight ticket using interface
import java.io.*;
interface FlightDetails {
void getFlightDetails();
void book(Ticket ticket);
}
class AirIndia implements FlightDetails {
public void getFlightDetails() {
System.out.println("Flight Details of Air India");
}
public void book(Ticket ticket) {
System.out.println("Ticket booked in Air India");
}
}
class Emirates implements FlightDetails {
public void getFlightDetails() {
System.out.println("Flight Details of Emirates");
}
public void book(Ticket ticket) {
System.out.println("Ticket booked in Emirates");
}
}
class Lufthansa implements FlightDetails {
public void getFlightDetails() {
System.out.println("Flight Details of Lufthansa");
}
public void book(Ticket ticket) {
System.out.println("Ticket booked in Lufthansa");
}
}
class Ticket{
}
public class InterfaceFlight {
public static void main(String[] args) throws IOException {
FlightDetails flight = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("1.Air India\n2.Emirates\n3.Lufthansa");
System.out.print("Enter choice = ");
int choice = Integer.parseInt(br.readLine());
if(choice == 1){
flight = new AirIndia();
flight.book(new Ticket());
} else if(choice == 2){
flight = new Emirates();
flight.book(new Ticket());
} else if(choice == 3){
flight = new Lufthansa();
flight.book(new Ticket());
}
}
}
This above implementation could have been done without the use of interface by writing separate classes and creating object for the respective flights
Then Why do we need interface??
Thanks in Advance!