|
3 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 28
|
||||||
Приведение класса родителя к классу потомку java07.10.2012, 16:31. Показов 10060. Ответов 11
Метки нет (Все метки)
Наткнулся на такой кусок кода в книге Хорстмана
Объясните, пожалуйста, а то я не могу понять. как так?
0
|
||||||
| 07.10.2012, 16:31 | |
|
Ответы с готовыми решениями:
11
Передать значение члена класса потомку
|
|
3 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 28
|
|||
| 07.10.2012, 19:50 [ТС] | |||
|
Потому что в документации, я нашел только такое объявление класса
0
|
|||
|
3 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 28
|
||
| 07.10.2012, 22:52 [ТС] | ||
|
Но, разве это имеет отношение к наследованию? Ведь Graphics2D более узкий класс, Graphics шире, и мі не можем из более абстрактного, сделать более специализированный, даже если у них реализованы одинаковые интерфейсы и наверняка они тоже наследуются от родителя потомку. Прошу извинения, если я говорю, бред, я недавно начал изучать Java. буду благодарен, за объяснения
0
|
||
|
|
|||||||
| 08.10.2012, 00:04 | |||||||
методы из Graphics2D унаследованные от Graphics
Methods inherited from class java.awt.Graphics
clearRect, clipRect, copyArea, create, create, dispose, drawArc, drawBytes, drawChars, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPolygon, drawPolygon, drawPolyline, drawRect, drawRoundRect, fillArc, fillOval, fillPolygon, fillPolygon, fillRect, fillRoundRect, finalize, getClip, getClipBounds, getClipBounds, getClipRect, getColor, getFont, getFontMetrics, getFontMetrics, hitClip, setClip, setClip, setColor, setFont, setPaintMode, setXORMode, toString
1
|
|||||||
|
3 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 28
|
||
| 08.10.2012, 18:52 [ТС] | ||
|
Вот что именно мне не понятно.
0
|
||
|
|
||
| 08.10.2012, 19:42 | ||
|
Вот если бы имплементирующий класс наследовал только Graphics, вот тогда бы его нельзя было бы привести к Graphics2D, но так как реальным классом наследуется Graphics2D, то это становится возможным.
1
|
||
|
3 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 28
|
|
| 08.10.2012, 22:01 [ТС] | |
|
0
|
|
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
||
| 09.10.2012, 11:38 | ||
|
Там другое. На самом деле в этот метод передается экземпляр класса Graphics2D, несмотря на то, что в сигнатуре стоит Graphics. Единственное исключение - отладочный режим, когда в метод передается DebugGraphics, унаследованный от Graphics. У Oracle даже баг на эту тему зарегистрирован, правда с совсем низким приоритетом. Ну а поскольку реально тип Graphics2D - к нему можно и привести. По большому счету, конечно, стоило проверять переданный параметр через instanceof и только тогда приводить. Но многие среды разработки автоматически приводят тип и дают использовать все методы.
1
|
||
|
3 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 28
|
|
| 09.10.2012, 18:01 [ТС] | |
|
Skipy, mutagen, Спасибо, за разъяснения ,теперь все понятно!!!
0
|
|
| 09.10.2012, 18:01 | |
|
Помогаю со студенческими работами здесь
12
Приведение типа к другому классу
Наследование от protected класса: будут ли public члены класса Б доступны классу А Вызов слота класса потомка при вызове сигнала класса родителя Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|