我目前正在编写一个 Android 应用程序,它在 Github 上使用了一段开源代码(它是一个 java 类)。
随着应用程序的开发,我现在想在类中添加一些应用程序指定的功能。不想修改原始类(因为它是开源的),我想扩展该类并修改扩展的类。但是,原来的类中有一堆私有方法和变量,使得继承不起作用。
对于这种情况,推荐的解决方法是什么?
我目前正在编写一个 Android 应用程序,它在 Github 上使用了一段开源代码(它是一个 java 类)。
随着应用程序的开发,我现在想在类中添加一些应用程序指定的功能。不想修改原始类(因为它是开源的),我想扩展该类并修改扩展的类。但是,原来的类中有一堆私有方法和变量,使得继承不起作用。
对于这种情况,推荐的解决方法是什么?
将类包装为您自己的 API 的一部分
如果您真的需要修改源代码,您可以随时在 github 上 fork 项目,并根据需要对源代码进行修改。但我认为这是首选:
public class OpenClassThatIsntMine {
// Bunch of their code
}
class MyClass {
private OpenClassThatIsntMine foobar;
// My code, which "extends" the functionality of the open source class.
}