Robur, да, именно такой случай и интересует, "создайте класс А с методом m у которого два параметра - строка и число, метод m2, который выводит число 5 на экран, конструктор который принимает два значения и тд". Только болле расплывчато сформулировано
И тут какраз поможет рефлексия и извращения. Я беру код в виде строки, записываю его в файл, компилирую файл и получаю объект из этого файла, как нормальный класс. Потом могу забирать оттуда методы, конструкторы, поля да и все возможное через рефлексию. Ну и когда у меня есть данные про класс
Как бы вы проверили это еще? У меня получилось как я описал выше, но есть некоторые проблемы. Возможно, я замахнулся на слишком сложную задачу, или делаю что-то совсем не так
Как пример можно привести создание класса "Automobil", что-то вроде "создайте класс Мотор, Колесо и Автомобиль. Автомобиль содержит 4 колеса, один мотор. Эти атрибуты автомобиль получает в конструкторе: Automobil(Motor motor, Wheel wheel1, Wheel wheel2...){}"
Да, ошибки синтаксиса и так компилятор покажет через Exception, но мне интересно не просто скомпилировать код, а проанализировать классы, которые пользователь ввел.
Под анализом я имел в виду пропуск кода через тесты, то есть анализ через рефлексию, правильные ли аттрибуты, сеттеры, конструкторы и прочее написал юзер и выполнили ли он задание. А задание по типу "создайте класс Person с аттрибутами String name, int age"
Про докер ничего не слышал к сожалению(я всего студент), но почитаю, спасибо за совет
Благодарю за исправления и указания на ошибки. Да - у меня каша в голове насчет этого, поэтому и пишу тут вопрос. Если занял у кого-то драгоценное время, то прошу прощение конечно же:))
Константин Нагибович, отвечу чесно. Не хочу иметь дело с 1С у нас в Украине и в Германии. Особено в Украине. Мы проводили переговоры с продавцами 1С и хорошо изучили, что это не целесообразно. И да, упор именно на расширение кругозора Джавой с практической пользой
1С сильно перегружена, мы работали с фирмой Chameleon Soft, хороший аналог для наших целей. Но суть-то как раз в том, что бы самому сделать, ибо это не горит. И с реализацией на Java для расширения кругозора. Ну и что бы повесить медаль себе в виде собственного проекта :-)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.