设置一个接口Engine,让类“发动机种类”和“汽车”组装来分别面向接口编程,最终组装成“一辆汽车”。
创建接口Engine,接口可表示物体的抽象属性(汽车拥有发动机)
public interface Engine {
//所有的发动机都可以启动
void start();
}
创建类“雅马哈”和“宏达”实现Engine接口。代表能给汽车使用的两种发动机
public class HONDA implements Engine{
public void start(){
System.out.println("HONDA启动");
}
}
public class YAMAHA implements Engine{
public void start(){
System.out.println("YAMAHA启动");
}
}
创建一个汽车类来实现接口Engine
public class Car {
//面向接口编程
Engine e;
//Constructor
Car(Engine e){
this.e = e;
}
public void testEnigine(){
e.start();//面向接口调用
}
}
实现“汽车的组装”
public class test2 {
public static void main(String[]args){
//生产引擎
YAMAHA e1 = new YAMAHA();
//生产汽车
Car c = new Car(e1);
//测试引擎
c.testEnigine();
//换HONDA
c.e = new HONDA();
c.testEnigine();
}
}