通常大家比较的都是抽象类和接口的异同,而我这里写的是继承而不是抽象类,是因为我这里的比较对象是 “实现接口” 而不是接口这个概念。
在我看来,继承和实现接口的主要区别在于:状态。具体点儿就是父类的字段。
继承有状态的传递,而实现接口没有。
这里就有些像微服务里的 “无状态” 的说法了。
所以什么时候用继承呢?
- 接口的拓展,接口继承接口,这个是语法限制
- 有状态字段,不用继承没法
其他情况下,慎用继承。
通常大家比较的都是抽象类和接口的异同,而我这里写的是继承而不是抽象类,是因为我这里的比较对象是 “实现接口” 而不是接口这个概念。
在我看来,继承和实现接口的主要区别在于:状态。具体点儿就是父类的字段。
继承有状态的传递,而实现接口没有。
这里就有些像微服务里的 “无状态” 的说法了。
所以什么时候用继承呢?
其他情况下,慎用继承。