三分钟理解“面向接口编程”是什么

发布时间:2026/7/10 15:06:08
三分钟理解“面向接口编程”是什么 “面向接口编程”就是代码依赖的是“能力约定”而不是某个具体实现。可以把接口理解成一份合同它规定“你必须提供哪些方法、输入什么、返回什么”但不关心你内部怎么做。比如class Payment: def pay(self, amount): pass这表示只要你是一个Payment你就应该能pay(amount)。然后可以有不同实现class AliPay(Payment): def pay(self, amount): print(f支付宝支付 {amount}) class WeChatPay(Payment): def pay(self, amount): print(f微信支付 {amount})业务代码不要直接依赖AliPay或WeChatPay而是依赖Payment这个抽象def checkout(payment: Payment, amount): payment.pay(amount)这样以后要换成银行卡支付只需要新增一个实现class BankCardPay(Payment): def pay(self, amount): print(f银行卡支付 {amount})原来的checkout不用改。核心好处是降低耦合业务代码不绑死某个具体类。方便替换实现支付宝、微信、银行卡都能切换。方便测试测试时可以传一个假的支付实现。方便扩展新增实现通常不需要改老代码总之面向接口编程就是让代码依赖“它能做什么”而不是依赖“它具体是谁”。