考虑下面的我的代码,该代码用于使用界面预订机票
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());
}
}
}
通过编写单独的类并为各个排期创建对象,可以在不使用接口的情况下完成上述实现
那为什么我们需要接口呢?
提前致谢!
一个interface
是类可以做什么的契约(或协议,框架或共识)。
当类实现某个接口时,它承诺为接口中声明的所有抽象方法提供实现。
接口定义了一组常见行为。这些类实现了同意这些行为的接口,并提供了自己的行为实现。这使您可以在接口上进行编程,而不是实际的实现。
简而言之:类只是该合同的实现,仅此而已
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句