Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 1
Регистрация: 12.01.2013
Сообщений: 8

Динамическое имя параметра класса

15.01.2013, 01:12. Показов 2168. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Есть таблица БД, при выборке хочу создавать на каждую запись объект класса, в котором поля класса будут соответствовать именам полей класса. Проблема в том, что хочу называть параметр таким же именем как и столбец таблицы. Имеется ли возможность задавать имя параметра из стринга?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2013, 01:12
Ответы с готовыми решениями:

Как создать динамическое имя потока?
Добрый день! Тренировался в работе с потоками и пришел к такой проблеме: имеется какое-то количество операций(которое постоянно...

Создать объект класса, зная имя класса, а параметры получать из формы
У меня есть форма, на которой есть Combobox, в котором можно выбрать класс. При выборе одно из айтемов, на форме добавляются поля ввода, в...

Возможно ли как-то, зная имя класса, вернуть в каком-либо методе имя класса?
Добрый день! Интересуюсь. Есть Обобщенный метод, например: Add<T>(string nameElement). Какой конкретно Т определяется...

13
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.01.2013, 10:21
Что такое ПАРАМЕТР класса?
Цитата Сообщение от CostaConquesta Посмотреть сообщение
в котором поля класса будут соответствовать именам полей класса
Что?

Если Вам известны таблицы, то объявите для каждой из них соответствующий класс с полями, которые будут соответствовать столбцам таблицы. Когда будете извлекать данные из таблицы, создайте новый объект соответствующего класса, установите значения его полей и поместите полученный объект в список.
Вы это имели ввиду?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
15.01.2013, 15:29
Для этого можно использовать конструкцию типа Map<String, Object> - для каждой строки. Ключ - имя поля, значение - значение поля. Ну или как уже предложили - класс на таблицу создавать вручную.
0
1 / 1 / 1
Регистрация: 12.01.2013
Сообщений: 8
15.01.2013, 15:49  [ТС]
Цитата Сообщение от raiderx Посмотреть сообщение
Что такое ПАРАМЕТР класса?

Что?

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

Да про HeshMap знаю, но хотелось бы именно программно создавать класс по структуре таблицы. У меня может быть множество таблиц с разной структурой, не хотелось бы на каждый тип вручную создавать класс.
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.01.2013, 16:13
Кажется, в NetBeans есть мастер, который генерирует классы используя данные из БД (существующего соединения JDBC). Но это только на этапе проектирования приложения.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
15.01.2013, 17:08
Цитата Сообщение от CostaConquesta Посмотреть сообщение
хотелось бы именно программно создавать класс по структуре таблицы. У меня может быть множество таблиц с разной структурой, не хотелось бы на каждый тип вручную создавать класс.
Вам на лету? Или все-таки один раз при изначальном импорте структуры?
0
1 / 1 / 1
Регистрация: 12.01.2013
Сообщений: 8
17.01.2013, 10:03  [ТС]
Хотелось бы на лету. Но и альтернативные варианты тоже интересны.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
17.01.2013, 11:57
Цитата Сообщение от CostaConquesta Посмотреть сообщение
Хотелось бы на лету. Но и альтернативные варианты тоже интересны.
Простите, а зачем Вам на лету?

Чем хорош класс? Тем, что Вы можете в коде использовать его методы по именам. У Вас сразу есть связывание и проверка типов.

Если Вы генерируете класс на лету - Вы НЕ МОЖЕТЕ использовать его методы в коде во время разработки. Т.е. теряется основное преимущество.

Что Вы будете делать со сгенерированным на лету классом? Допустим, что Вы его таки сгенерировали и он у Вас уже есть. Как Вы собираетесь его использовать в коде?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
17.01.2013, 12:42
Цитата Сообщение от Skipy Посмотреть сообщение
Если Вы генерируете класс на лету - Вы НЕ МОЖЕТЕ использовать его методы в коде во время разработки.
Вообщето нет, есть шаблон command и под него прекрасно всё генерится на лету и потом без проблем выполняется.
Правда это накладывает определённые ограничения на класс, но всё же это не невозмоно.
1
1 / 1 / 1
Регистрация: 12.01.2013
Сообщений: 8
17.01.2013, 14:31  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Что Вы будете делать со сгенерированным на лету классом? Допустим, что Вы его таки сгенерировали и он у Вас уже есть. Как Вы собираетесь его использовать в коде?
Это скорее эстетический интерес соорудить такую конструкцию, чем для практического применение. Я использую HashMap сейчас, но интересно было бы сделать по другому. Ведь лень и интерес двигатели прогресса, не так ли?)
0
17.01.2013, 14:34

Не по теме:

пинок под зад, двигатель прогресса

0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
17.01.2013, 14:53
Цитата Сообщение от mutagen Посмотреть сообщение
Вообщето нет, есть шаблон command и под него прекрасно всё генерится на лету и потом без проблем выполняется.
Правда это накладывает определённые ограничения на класс, но всё же это не невозмоно.
Э-э-э... Я прекрасно знаю, вообще-то, что такое Command. Но это не наш случай. У нас - генерация сущностей a-la ORM. У Command есть определенный интерфейс, под который можно всё сгенерировать. В обсуждаемом случае интерфейса нет и, имхо, быть не может, кроме какого-нибудь бесполезного (который скажет, что это entity, но использовать эту entity нормально не позволит по причинам, которые я озвучивал).

Добавлено через 2 минуты
Цитата Сообщение от CostaConquesta Посмотреть сообщение
Это скорее эстетический интерес соорудить такую конструкцию, чем для практического применение. Я использую HashMap сейчас, но интересно было бы сделать по другому. Ведь лень и интерес двигатели прогресса, не так ли?)
Сгенерировать - можете. А использовать? В этом-то и вопрос!

Можно построить стол из песка? Можно. А работать за ним? А смысл тогда строить?
1
1 / 1 / 1
Регистрация: 12.01.2013
Сообщений: 8
17.01.2013, 19:03  [ТС]
Хочется делать что-то, хоть бесполезное, но интересное( +опыт бесценен).

Дабы не плодить топики, задам ещё вопрос: можно ли через апплет работать с файловой системой клиента?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
17.01.2013, 21:37
Цитата Сообщение от CostaConquesta Посмотреть сообщение
Дабы не плодить топики, задам ещё вопрос: можно ли через апплет работать с файловой системой клиента?
одна тема - один вопрос, загляните в правила
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2013, 21:37
Помогаю со студенческими работами здесь

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно, пытаюсь разобраться что происходит в...

Можно ли во время выполнения "извлечь" имя приложения, имя класса, имя исполняемого метода и пр. ?
или какие-нубдь &quot;квазипеременные&quot; компилятора, позволяющие их использовать?

Как передать в процедуру/функцию имя класса, который еще не создан (универсальное имя)
Всем привет, помогите. ;) Пишу MVVM-приложение, будем много WPF форм. Для каждой формы нужно предусмотреть например, добавление...

Как задать динамическое изменение имени параметра
Здравствуйте, помогите, пожалуйста советом. Есть три вектора разной длины А1, А2, А3. Теперь я хочу в цикле поочередно к ним обращаться...

Имя параметра области
Всем привет! Вот такой вопрос-можно ли как то передать имя параметра области макета в виде параметра? Что есть: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru