接口的简单应用——快递案例

接口的简单应用——快递案例

现在有三家快递公司:顺丰可以寄空运和陆运,EMS可以寄空运,圆通可以寄陆运。

现在小明想要通过这三家公司寄快递,请实现这一过程

分析:
1、类:人、顺丰、EMS、圆通
2、如何让人和快递公司产生联系,这个可以通过一个接口实现
而每家公司寄快递的功能不同,但是主要是两种,即陆运和空运
所以这里需要创建两个接口
3、总结:所以我们需要建立四个类和两个接口
   我们也可以理解为:人是主类,三家公司是副类(这种只是便于初    学者理解用)
4、人是通过传参和接口建立联系的,而三家公司主要是通过实现接口中的方法和接口建立联系的,这样就可以把人和快递公司建立联系
//建立实现陆运的接口
//功能是:实现陆运
//这个接口的名字我们命名为实现陆运服务
//而这个名字主要是给快递公司实现接口用,相当于快递公司提供
//了快递服务
public interface SnedPackageByLandService {
//实现陆运的功能
    void sendByLand();
}
//建立三个类,实现快递公司和接口之间的联系
//同理建立空运接口
public interface SnedPackageByAirService {
    void sendByAir();
}
//建立顺丰类
public class ShunFeng implements SnedPackageByAirService,SnedPackageByLandService {
//实现接口中的方法
    @Override
    public void sendByAir() {
        System.out.println("这个是顺丰空运");
    }

    @Override
    public void sendByLand() {
        System.out.println("这个是顺丰陆运");
    }
}
//建立EMS类
public class EMS implements SnedPackageByAirService {
//实现空运功能
    @Override
    public void sendByAir() {
        System.out.println("这个是EMS的空运");
    }
}

//建立圆通类
public class YuanTong implements SnedPackageByLandService{
//实现圆通的功能
    @Override
    public void sendByLand() {
        System.out.println("这个是圆通陆运");
    }
}

//建立人类,实现人与接口的联系
public class Person {
//在人类中(也就是主类)是建立方法和接口相联系的
    void sendPackageByLand(SnedPackageByLandService express){
    //而这个联系主要是通过接口类型来完成的,这里的类型用陆运接口 并且传入参数以便引用接口中的方法
        express.sendByLand();
    }
//同理实现空运
    void sendPackageByAir(SnedPackageByAirService express){
        express.sendByAir();
    }
}
//建立主函数来实现功能
public class Program {
    public static void main(String[] args) {
    //1、由于是静态的引用非静态的,所以先实例化
        ShunFeng shunFeng = new ShunFeng();
        EMS ems = new EMS();
        YuanTong yuanTong = new YuanTong();
        //2、实例化一个小明
        Person xiaoming = new Person();
        //3、实现功能
        //小明通过圆通陆运寄快递
        xiaoming.sendPackageByLand(yuanTong);
        //小明通过EMS空运寄快递
        xiaoming.sendPackageByAir(ems);

    }
}

注:深刻的理解可以对接口有更加深入的理解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值