个人理解,接口和抽象类应用场景区别

接口和抽象类应用场景区别

2015年前我的理解:对共性行为的抽象使用接口,对代码的封装使用抽象类

2022年我的理解:对框架的拓展使用接口,对代码的精简用抽象类

比如
我现在的脱壳机支持32位 现在想要支持64位,则抽象出IUnpacker接口,分别创建Unpacker32和Unpacker64类实现该接口,这是对框架的扩展

Unpacker32和Unpacker64里都有相同行为的一些代码,此时抽象出UnpackerBase则最终可能是这样

Unpacker32:UnpackerBase,IUnpacker
Unpacker64:UnpackerBase,IUnpacker

 

posted @ 2022-07-20 11:00  凉游浅笔深画眉  阅读(48)  评论(0编辑  收藏  举报