老师 支付宝支付、微信支付、各大网银支付这种是用抽象类还是接口?

来源:3-8 怎么避免抽象类和接口选择失误呢?

春去_秋来

2020-09-09

老师 支付宝支付、微信支付、各大网银支付这种是用抽象类还是接口?可以说下怎么组织代码

写回答

1回答

张勤一

2020-09-09

春去秋来你好:

    首先来说,对于这个功能使用抽象类和接口都是可行的(其实都适用的情况还是非常多的)。那么,为什么呢?可以考虑:

    抽象类:把共同的功能放到抽象类中去实现,不同的功能放到抽象类中做定义(抽象方法),而没有实现;这当然可行;那么,你可能会说,通用的方法不就没有实现了吗?当然不是,java8 的默认方法就可以了呀!

    接口:你需要定义一个支付 Service 接口,然后定义多个实现类,每个实现类去处理一种支付方式,这当然也是非常好的,可行的。

    代码组织也是很简单的,一个抽象类的定义或一个接口的定义,每一个具体的支付功能都有自己的实现类就可以了。


    我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!

1
1
春去_秋来
这个知道 如果用户点支付宝 就调支付宝的实现类?点微信就调微信的实现类?感觉这样有坑 希望老师出个视频写个demo
2020-09-09
共1条回复

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

466 学习 · 204 问题

查看课程