Я работаю с проектом Maven. В ссылочном JAR есть пакет, содержащий файл класса. Мне нужно добавить некоторые строки кода в этот класс, но, к сожалению, этот класс не редактируется.
Моя идея состояла в том, чтобы создать новый класс, расширить его из этого ссылочного класса и добавить мои строки кода в только что созданный класс. Проблема здесь в том, что код немного сложный и классы расширяются друг от друга.Редактирование ссылочного класса
// existing class
public class ReferencedClass extends AnotherClass{
// ...
}
// my idea
public class MyClass extends ReferencedClass{
// add my code here
}
// where those classes are needed
public class SomeClass{
anObject o = new anObject(); // creates new object, whose class also extends from ReferencedClass
}
// this class also extends from ReferencedClass
public class anObject extends ReferencedClass{
// ...
}
Я не уверен, как создать экземпляр свой собственный созданный класс MyClass
. Должен ли я делать это во всех классах, где также используется ReferencedClass
?
Есть ли еще одно решение для моей проблемы, не создавая новый класс?
Спасибо!
Если бы я был вами, я бы сделал класс обертки и использовал только этот класс в своем собственном проекте/коде. – stealthjong
Трудно предоставить осмысленный совет, но если класс, который вы хотите изменить, не принадлежит вам, вы, вероятно, не должны его изменять. Нужно ли вам распространять один и тот же класс, трудно сказать, не зная, что вы действительно хотите с ним сделать. Альтернативы включают такие вещи, как АОП, простую композицию с делегацией, декораторы и т. Д. –
@DaveNewton: Мне нужно только добавить короткий сеттер-метод. – user1170330