《设计模式之美》之接口、抽象类笔记

1、抽象类是解决代码复用的,接口类则是解决抽象而不是代码复用:抽象类是一种自下而上的设计思路,先有子类的重复,再抽象成父类。而接口正好相反,是先定义接口(类似一个协议),是自上而下的。

抽象类和接口的语法特点:抽象类不能被实例化,能被继承,它可以包含属性和方法,方法可以包含实现,没有实现的方法称为抽象方法,继承抽象类的类要实现它的所有抽象方法。而接口类则只能包含抽象方法,不能有属性和方法实现,实现接口的类必须实现接口所有抽象方法。


原则:基于接口而非实现编程也叫基于抽象而非实现编程
越抽象、越顶层、越脱离具体某一实现的设计,越能提高代码的灵活性,越能应对未来的需求变化。好的代码设计,不仅能应对当下的需求,而且在将来需求发生变化的时候,仍然能够在不破坏原有代码设计的情况下灵活应对。
原则核心:接口的定义只表明做什么,而不是怎么做。

这条原则的设计初衷是,将接口和实现相分离,封装不稳定的实现,暴露稳定的接口。上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本上不需要做改动,以此来降低代码间的耦合性,提高代码的扩展性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值