一、继承的优缺点
在面向对象的语言中,继承是必不可少的。继承者可以拥有父类的属性和方法,提高代码重用性。但同时继承也是侵入性的,他必须拥有父类的属性和方法从而让子类的世界多了些束缚,降低了代码的灵活性。当父类需要更改公共属性或方法时需要考虑子类的修改,特别是在缺乏规范的前提下,将会导致一堆的类要修改。
例如:在框架搭建时,开发者一般会创建一些基类,比如BaseActivity。里面可能会做些布局配置、标题设置、方法封装等基本操作,还可能会创建BaseListActivity继承BaseActivity,封装跟列表功能相关的操作。这些Base是属于最底层的依赖,换句话说也可适用于其他项目的库。
而每个项目也会有项目级的通用操作,有些开发者可能还会定义项目级的Base(例如继承BaseActivity的CommonActivity),然后在Common里面封装项目上的通用操作。此时问题就来了,是不是还得定义一个CommonListActivity以在拥有项目封装的同时拥有Base的列表功能。那么CommonListActivity应该继承CommonActivity还是BaseListActivity?还有Fragment和Dialog呢?
多层继承类图:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
相关推荐