|
0 / 0 / 0
Регистрация: 29.04.2016
Сообщений: 3
|
|||||||||||||||||||||
Подскажите в каком направлении двигаться30.04.2016, 03:15. Показов 1185. Ответов 3
Метки нет (Все метки)
Здравствуйте, возникли сомнения в правильности построения класса. А именно правильно ли я задаю координаты точек вершин через конструкторы? Как эти координаты лучше передавать, так как у меня, либо в массиве(но возникает вопрос - как с ними дальше работать)? Вообще не соображаю бьюсь пару часов, буду благодарен за правильный совет.
Вот само задание. Построить систему классов для описания объемных тел: треугольная призма, треугольная пирамида, тетраэдр – на основе треугольника. Предусмотреть методы для создания объектов, перемещения их в пространстве, изменения размеров, вычисления объемов и площадей поверхности. Выкладываю свои наработки, понимаю что мало и на костылях и людям с опытом это не нравиться, но не могу собраться с мыслями как дальше делать. Так понимаю, что по заданию нужно сделать три класса: призма, пирамида, тетраэдр. Сделал пока только для призмы хочу на ней понять как лучше все реализовать.
Добавил метод для нахождения основания треугольника(вообще можно это назвать ООП )
0
|
|||||||||||||||||||||
| 30.04.2016, 03:15 | |
|
Ответы с готовыми решениями:
3
Прошу указать верный курс, подсказать, в каком направлении двигаться Дайте совет жизненный, куда двигаться в Java направлении Подскажите в каком направлении двигаться |
|
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
|
|
| 30.04.2016, 13:25 | |
|
Во-первых, сделайте ваши поля x, y, z - private, вы же не просто так для них гет и сет методы сделали.
Во-вторых, я думаю что задание подразумевает создание не просто 3ех отдельных классов, а чтобы они как-то были связаны. Подумайте что между ними может быть общего, какие поля и методы, и возможно ли их вынести в общий суперкласс и наследовать уже от него. Более правильным дизайном было бы создание класса, например Point, с тремя полями x, y, z. Потом уже например класс Пирамида, в котором полями являются Point-ы, и в этом классе Пирамида уже метод нахождения площади. А так у вас получается что каждый класс TriPrism содержит лишь одну точку, и в каждом этом классе свой метод по нахождению площади.
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2016
Сообщений: 3
|
||||||||||||||||||||||||||
| 01.05.2016, 02:52 [ТС] | ||||||||||||||||||||||||||
|
Как ты и говорил создал класс родителя. Как думаешь что еще надо доработать? Если кого нибудь видит мои ошибки, подскажите как лучше их исправить.
0
|
||||||||||||||||||||||||||
|
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
|
|||||||||||
| 01.05.2016, 11:03 | |||||||||||
|
Не совсем то, что я имел в виду. Смотри, если например у тебя есть класс Раковина и есть класс Ванная, очевидно что между ними есть что-то. Но ты не будешь наследовать Ванную от Раковины или наоборот - это не имеет никакого логического смысла. Раковина содержится в Ванной, нужно различать два взаимоотношения между классами - IS-A и HAS-A, в первом ты применяешь наследование во втором композицию.
В твоем примере имеется класс представляющий одну координату, и от него происходит наследование 3д фигур - это неправильно, как и в примере с Ванной. В какой-либо фигуре должно содержаться некоторое количество координат. Как примерно я представляю решение:
0
|
|||||||||||
| 01.05.2016, 11:03 | |
|
Помогаю со студенческими работами здесь
4
Подскажите как развить сайт и в каком направлении двигаться Подскажите в каком направлении дальше двигаться, что учить В каком направлении двигаться В каком направлении двигаться? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|