|
6 / 6 / 1
Регистрация: 29.10.2009
Сообщений: 143
|
|||||||||||||||||||||
Создать объект generic типа31.01.2012, 23:36. Показов 4213. Ответов 8
Метки нет (Все метки)
Hi.
есть абстрактный класс GraphRepresent:
есть ли способ создать объект типа G прямо в конструкторе класса Graph? p.s. это нужно еще для того чтобы запретить изменять объект класса, наследуемого от GraphRepresent.
0
|
|||||||||||||||||||||
| 31.01.2012, 23:36 | |
|
Ответы с готовыми решениями:
8
Создать объект в generic методе Задача: Создать объект List с использованием объекта ArrayList, заполнить его произвольными даннами типа int....
|
|
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
|
|||||||
| 31.01.2012, 23:51 | |||||||
|
Наверно вы хотели написать так?
0
|
|||||||
|
6 / 6 / 1
Регистрация: 29.10.2009
Сообщений: 143
|
||
| 01.02.2012, 00:04 [ТС] | ||
|
или всё таки есть разница? насчет того чтобы нельзя было изменять, просто в классе GraphData есть поля vertices и edges, если создать объект класса, наследуемого от GraphRepresent, потом заполнить его и передать в Graph, и если после этого изменить объект, то изменения не отразятся на данных в GraphData, а это недопустимо.
0
|
||
|
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
|
||||||
| 01.02.2012, 00:10 | ||||||
|
можно сделать так :
сделайте поля vertices и edges финальными. Обычно от этого только выигрыш. Добавлено через 1 минуту Если взять ваш вариант то у меня не компилируется, поскольку это тип G приводим к GraphRepresent а не на оброт
0
|
||||||
|
6 / 6 / 1
Регистрация: 29.10.2009
Сообщений: 143
|
||
| 01.02.2012, 00:18 [ТС] | ||
|
да...не посмотрел...у меня в исходниках написано GraphRepresent represent; извиняюсь
0
|
||
|
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
|
|
| 01.02.2012, 00:24 | |
|
можете вкратце рассказать в чем состоит задача и какова ваша архитектура?
Еще посмотрите как я с помощью статического метода создаю объект. В джаве если возможность неявного использования дженериков. К сожалению, на конструкторы это не влияет ( во всяком случае в 5 джаве)
0
|
|
|
6 / 6 / 1
Регистрация: 29.10.2009
Сообщений: 143
|
|||||||
| 01.02.2012, 00:45 [ТС] | |||||||
0
|
|||||||
|
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
|
|
| 01.02.2012, 00:47 | |
|
здесь про изменяемость ничего нет
0
|
|
|
6 / 6 / 1
Регистрация: 29.10.2009
Сообщений: 143
|
|||||||||||
| 01.02.2012, 01:57 [ТС] | |||||||||||
|
да, но тут Graph сам создает объект типа GraphRepresent, а метод getRepresent я написал для того, чтобы проверить всё ли работает. В проекте на джаве его нет.
Добавлено через 10 минут пока я нашел такой способ:
Добавлено через 53 минуты а насчет архитектуры: есть три вида представления графа: AdjacencyMatrix, IncidenceMatrix, AdjacencyList; все они наследуются от GraphRepresent. в классе GraphData, как я уже говорил, есть поля vertices, edges, и метод fill(vertices, edges), а так же различные операции: addEdge, removeEdge, addVertex и т.д. GraphRepresent содержит объект графа, опять же метод fill(...), метод representToData, который позволяет конвертировать GraphRepresent в GraphData, не полностью конечно, а именно сформировать списки вершин и ребер, а также другие методы для работы с графом. метод representToData вызывался раньше тогда, когда в конструктор класса Graph передавался какое-то его представление (GraphRepresent). Я думаю метод этот нужен, но хочется создать метод setRepresent в классе Graph, и вот именно в нем вызывать данный метод. При реализации всего этого на C++ проблем не было, а вот из-за особенности джавы в том, что нельзя создавать объект generic-типа, приходится извращаться.
0
|
|||||||||||
| 01.02.2012, 01:57 | |
|
Помогаю со студенческими работами здесь
9
Создать объект, взяв имя его класса из переменной типа String? Создать generic класс Box Почему нельзя создать массив generic объектов с определёнными параметрами типов?
Как преобразовать объект типа java.lang.reflect.Array в массив или Collection? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|