我有一个公共库,我在其中放置了在多个Android项目之间使用的类。但是,现在我遇到了一种情况,我必须在一个项目中对类的功能进行微小的更改。我应该如何组织课程,记住代码的易读性和未来扩展的可能性?
我应该
这可能是一个微不足道的问题,但我对java很新,并且无法弄明白。
答案 0 :(得分:2)
肯定是1。
创建一个包含基类的库(jar),然后在需要其基本功能的项目中使用该jar。每个项目都应提供扩展基础的专业类。
答案 1 :(得分:1)
如果新功能特定于一个项目,我会避免将功能放在库中。使用子类或替换类。如果稍后您发现此扩展行为可以更广泛地使用,则可以将其迁移到库(可能创建库的整个新版本,与Java API发展的方式非常相似。)
答案 2 :(得分:0)
不幸的是答案是“这取决于”。
具体来说,应该设计一个类层次结构,使得基类的行为适用于该类的所有子类。查看这个的一种方法是说子类可以扩展基类的行为。推论是子类不应该限制基类的行为。所以Square不是矩形。
除非基类是专门为继承而设计的,否则还要考虑“赞成组合而不是继承”,因为对基类的更改可能会破坏子类。
玩得开心!