2021-02-01接口

设置一个接口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();

    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值