2013-10-27 3 views
0

Я новичок в программировании, поэтому, пожалуйста, просто объясните.Как добавить собственный код в существующий код без его изменения?

У меня есть большой проект GNU, написанный в java, содержащий более 1000 исходных файлов. Я использую netbeans, и я хотел бы применить свои собственные изменения в некоторых из этих файлов, но я хочу, чтобы мой собственный код был отделен от того, что уже написано. Например, есть файл «Formula.java», содержащий код около 5000 строк. Если я внесу некоторые изменения, будет очень сложно найти, где мой код находится позже. В начале это было действительно просто, потому что мне пришлось редактировать менее 5 файлов. Но теперь у меня больше 20, и я потерялся в коде, потому что не помню, какие функции я внес изменениям внутри классов. Мой вопрос:

Как я могу реализовать свою реализацию функций из уже написанной, но мой код переопределяет функциональность некоторых целевых функций.

+3

Это почему контроль версий - ваш друг. –

+1

Начните изучать git! http://try.github.io/levels/1/challenges/1 – placeybordeaux

ответ

1

Некоторые системы контроля версий могут помнить об изменении для вас. Система контроля версий, как SVN

+0

Теперь я начинаю изучать, как использовать svn, возможно, это помогает мне разделить мой код и упростить его. – Kostas

0

U может наследовать класс, использование расширяет ключевое слово, как «общественный класс MyFormula проходит Формулу» Теперь U может написать метод переопределения в MyFormula.java без изменения Formula.java

+0

Это может работать иногда, но не является хорошим общим подходом для модификации стороннего кода. Иногда вам нужно его исправлять, и именно тогда приходит контроль версий. –

+0

Я думал об этом, но весь проект использует и создает объекты из класса «Формула» и не имеет понятия о моем новом созданном классе «MyFormula» , – Kostas

+0

Я действительно нашел то, что искал. Я использовал инструмент refactor -> extract superclass в netbeans. Он создает суперкласс «MyFormula», и предоставляется выбор для извлечения функций/членов из «Формулы». Теперь я могу сделать свою собственную реализацию для выделенных функций и позволить классу «Формула» быть подклассом и делать остальные: D. Спасибо за ответы на все вопросы. Я действительно не хочу использовать класс «MyFormula» в любом месте, просто хочу, чтобы класс «Формула» имел разные реализации в некоторых функциях, которые я могу сделать в своем суперклассе сейчас, но мой суперкласс содержит только те функции. – Kostas

Смежные вопросы