在这种情况下使用接口或抽象类更好吗?

Uff*_*ffo 3 php oop interface abstract

我想知道,如果我有一个购物(例如购物车付款流程)类,我想添加通过paypal付款的可能性..最好使用抽象类文档界面文档,例如:

Shopping implements Visa,Paypal
Run Code Online (Sandbox Code Playgroud)

我猜这个界面是正确的答案,因为这个Shopping类会被推荐为抽象类?

Dan*_*ite 7

都不是.

Shopping(如果你说它的主系统,例如购物车)应该有一个实现/继承的提供者列表PaymentProcessor.Visa并且PayPal将执行/继承PaymentProcessor.

这样你可以通过一些配置注入PaymentProcessor可用的东西.Shopping如果你添加,这种方式不必改变MasterCard.

看看单一责任原则.