抽象类是一种自底向上的思考过程, 先有各种子类, 然后针对同一类型的子类的共同实现提取出来, 放到父类中, 对不同的实现方法, 使用抽象方法代替.
接口是一种自上而下的思考方式, 先确定该有哪些行为, 然后针对子类进行各自不同的实现.
打卡
打卡9:
今天学习: 设计模式08课, 抽象类和接口
收获: 明确抽象类和接口之间语法的差别(是什么), 为什么会需要这两者(从哪里来), 以及它们的应用场景(到哪里去).
抽象类是只能被继承, 不可以实例化, 用来实现代码复用. 抽象类表示的是一种 is-a 的关系, 也可以实现多态.
接口是对行为的抽象, 隔离抽象与具体实现, 达到代码解耦的目的. 接口表示的是一种 has-a 的关系(拥有怎样的行为), 主要是用来实现多态, 面向接口编程, 可以提高代码的扩展性.