С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
1

Полный ооп

18.09.2022, 01:57. Показов 4965. Ответов 60

Author24 — интернет-сервис помощи студентам
Приветствуется ли в плюсах полностью ооп проект? По аналогии с джавой, как сказал один джавист - функций нельзя сделать вообще, можно сделать похожее только через класс с одним методом.
Так вот собственно и вопрос - ооп круто, но стоит ли полностью на ооп делать проект? В данный момент, в рамках одного моего проекта - так сделать можно, но будут классы без данных, чисто методы и всё, по смыслу разбитые на классы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2022, 01:57
Ответы с готовыми решениями:

ООП. Переделать фрагмент программы под ООП
Есть небольшой фрагмент из программы, который необходимо перестроить под ООП(создать класс), для...

Где лучше учить ООП PHP ? И зачем нужен ООП
Здравствуйте ! До того как начел учить ООП я кайфовал от программирования, после того как начел...

Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП
Скиньте пожалуйста источники с задачами(желательно на русском)

ООП ради ООП
Доброго времени суток! Есть к примеру класс Cat который реализует интерфейс Movable, инкапсулирует...

Полный слив...
///

60
4866 / 2664 / 914
Регистрация: 29.11.2010
Сообщений: 5,746
19.09.2022, 13:16 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от SmallEvil Посмотреть сообщение
Где почитать причины существования, а главное использования, такого разнообразия языков и парадигм ?
По-отдельности -- много источников данных. Даже на википедии есть история программистских парадигм.
Оттуда можно попереходить по ссылочкам на отдельные парадигмы и посмотреть, откуда они взялись и как развивались.

Но на скомпилированный труд я ещё не натыкался.

Если увидишь -- скинь, я тоже почитаю.
0
Just Do It!
4029 / 2423 / 640
Регистрация: 23.09.2014
Сообщений: 7,818
Записей в блоге: 2
19.09.2022, 20:21 22
Цитата Сообщение от Laborant666 Посмотреть сообщение
Приветствуется ли в плюсах полностью ооп проект?
этот вопрос можно переформулировать так:
Стоит ли уделять внимание проектированию при работе на проектом?

студенты, которые пишут хеллоуворлды считают, что не стоит:
самую крутую вещь которую они познают это:
C++
1
using namespace std;
ведь сколько раз, благодаря ей, можно не нажимать на клавиши!

а в этом месте всё проектирование у них просто сдыхает
и далее, будучи крестонеосиляторами,
эти школьники становятся самыми свирепыми ооп-хейтарами.

Цитата Сообщение от Laborant666 Посмотреть сообщение
Приветствуется ли в плюсах полностью ооп проект?
писать любой проект в ооп стиле очень просто,
и чем сложнее проект, тем проще писать.
1
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
19.09.2022, 21:00  [ТС] 23
Цитата Сообщение от XLAT Посмотреть сообщение
писать любой проект в ооп стиле очень просто,
и чем сложнее проект, тем проще писать.
Вот тут полностью согласен!! Крайний проект, который я делал - без ооп мне просто не поддался. От слова совсем. Там такая путаница началась.. Привнес ооп - сразу стало проще и переписать готовое, и использовать, и добавлять особенно стало гораздо проще

Добавлено через 3 минуты
Цитата Сообщение от XLAT Посмотреть сообщение
студенты, которые пишут хеллоуворлды
Вопросец - а какой смысл писать то, что по сути не нужно никому - даже самому студенту это нужно только один раз - когда учишь синтаксис cout`a. Неужто в учебных заведениях нет мысли, что стоит сразу, даже во время изучения синтаксиса - писать то, что будет нужно хотя бы одному человеку хотя бы раз в месяц, или один раз, но на долгую рутинную работу?

Добавлено через 5 минут
Цитата Сообщение от XLAT Посмотреть сообщение
Стоит ли уделять внимание проектированию при работе на проектом?
Определенно да. Из лайтового - хотя бы просто блок-схему от начала до конца. Лишает большей части неожиданных задач

Добавлено через 20 минут
Цитата Сообщение от lemegeton Посмотреть сообщение
Пройдите коротенький туториал, скажем, по хаскелю. Отпадёт множество вопросов.
Благодарю, завтра посмотрю на это
1
Just Do It!
4029 / 2423 / 640
Регистрация: 23.09.2014
Сообщений: 7,818
Записей в блоге: 2
19.09.2022, 21:07 24
Цитата Сообщение от Laborant666 Посмотреть сообщение
а какой смысл писать то, что по сути не нужно никому
ок, давай посмотрим на что у тя уходит время:

допустим есть такие этапы:
1. определить каки модули нужны, как они будут взаимодействовать и какой набор классов будет у них внутри.
2. сам процесс писянья кода.
3. отладка.

время на вскидку:
1. 20%
2. 10%
3. 70%

продолжать или уже видно где собака порылась?

первый этап это ваще можно делать не за компом, или за компом при просмотре котиков в ютубе.
0
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
19.09.2022, 21:22  [ТС] 25
Цитата Сообщение от XLAT Посмотреть сообщение
продолжать или уже видно где собака порылась?
Намек на то, что чем меньше времени уделено планированию, архитектуре, подбору инструментов и так далее - тем больше времени будет в отладке проведено?
1
Just Do It!
4029 / 2423 / 640
Регистрация: 23.09.2014
Сообщений: 7,818
Записей в блоге: 2
19.09.2022, 21:54 26
Цитата Сообщение от Laborant666 Посмотреть сообщение
ремени будет в отладке проведено?
мда,
поэтому я и не стал расписывать, потому что тут тема для докторской диссертации)

в данный момент я бы просто хотел заострить внимание на то,
что ваш пот из первого этапа должен солёными каплями, виден в написанном коде ...

сколько бы вы там не писали, объёмом затраченного на это время можно пренебречь.

и да, там этапов на самом деле больше...

Добавлено через 5 минут
Цитата Сообщение от Laborant666 Посмотреть сообщение
тем больше времени будет в отладке проведено?
вот:
Пишите вы код один раз, а прочитать его вам придётся 100 раз.
1
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
19.09.2022, 22:25  [ТС] 27
Цитата Сообщение от XLAT Посмотреть сообщение
Пишите вы код один раз, а прочитать его вам придётся 100 раз.
Да, это понятно. Я не совсем понял как это относится к хелловорлдистам, бесполезный код имелось в виду, что все эти калькуляторы, хеллопорлды, чаты и так далее - это никому не нужно уже. Почему люди принимают решение учиться делать то - что уже давно сделано на уровне в сотни раз выше их. Не лучше ли сразу на этапе изучения синтаксиса делать хоть сколько-то полезные программы?
0
Just Do It!
4029 / 2423 / 640
Регистрация: 23.09.2014
Сообщений: 7,818
Записей в блоге: 2
19.09.2022, 22:31 28
Цитата Сообщение от Laborant666 Посмотреть сообщение
Я не совсем понял как это относится к хелловорлдистам
чем больше пота будет пролито в учении, тем меньше будет пролито крови в бою.

Laborant666,

Никогда не пишите хеллоуворлды!

а пишите демки от очень серьёзных программ!
1
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
19.09.2022, 22:55  [ТС] 29
Цитата Сообщение от XLAT Посмотреть сообщение
Никогда не пишите хеллоуворлды!
Писал их один раз, когда вообще учил синтаксис. И то после сразу понял, что можно чудануть полезные себе приколюхи. Через месяц, примерно, начал учить синтаксис исходя из задачи, а не просто по курсам как оно идёт. Причин две - и себе полезное что-то и без многократного использования не запоминается этот синтаксис
0
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
19.09.2022, 23:01 30
Цитата Сообщение от Laborant666 Посмотреть сообщение
что все эти калькуляторы, хеллопорлды, чаты и так далее - это никому не нужно уже.
Потому что эти задачи обучают конкретному приему, алгоритму, концепции и проверены многолетним опытом.
Конечно опыт уже не тот и задания нужно обновлять. Но на это нужны деньги и время.
И не каждый учебный корпус может себе это позволить. А государственным ... ну они лучше на "дороги" и "борьбу с курильщиками" деньги определятукрадут.
0
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
19.09.2022, 23:31  [ТС] 31
Цитата Сообщение от SmallEvil Посмотреть сообщение
Потому что эти задачи обучают конкретному приему, алгоритму, концепции и проверены многолетним опытом
Да. Но и полезные для себя или окружающих проекты - тоже обучают приему, алгоритму, концепции. Разве нет? Ведь гуглить будет что хелловорлдист, что практик на полезном коде - ибо надо ж понять как сделать. А в гугле тоже есть приёмы, алгоритмы и концепции
0
460 / 327 / 64
Регистрация: 09.03.2016
Сообщений: 3,226
20.09.2022, 00:22 32
Цитата Сообщение от XLAT Посмотреть сообщение
3. отладка.
Как можно отладить программу?
Написал свой хеловорд.
Всю жизнь будешь отлаживать...

Добавлено через 8 минут
С использованием opencv автоматическая переменная, получает вертикальный размер видео, проходит строк пятьдесят, и теряет значение. получаеться 250. Изобр. узкое.
Причём это происходит непериодически, когда вносишь какие то изменения в программу.
Переменные на studio подсвечиваються, ни перекрытия нет, и ни где не используеться.
Вышел из положения, сделав её глобальной. Ни какому понятию сие не поддаёться.
//---
Если сам не напакостишь в память, то это сделают ребята написавшие фрамеворк.

Добавлено через 13 минут
Глючок... Первый кадр не читает. вылетает по ошибке...
C++
1
2
3
4
5
6
7
8
cv::Mat frame;
    
begin0:
    if (capture.read(frame) == false)
    {
        cout << "ERROR: Cannot read a frame from video one" << endl;
        goto begin0;
    }
Добавлено через 38 секунд
Камера...

Добавлено через 4 минуты
Ещё глюк... При чтении видео, кадр до конца не заполняеться. Чёрная полосочка с права...
C++
1
2
3
4
if(cap.read(fr))
        { if (i%4==0){
    cv::Mat fr_next = fr(Rect(0, 0, fr.cols - 4, fr.rows));// < === Из мата в мат (убираем чёрную полоску )
 cv::resize(fr_next, fr_next, cv::Size(win_x_next, win_y_next));// <----------- cv::Mat dst; cv::resize
Добавлено через 1 минуту
Ещё описал один глюк, куда то он провалился, не понял.
0
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
20.09.2022, 00:35  [ТС] 33
Наталья8, по-моему вы не туда написали большую часть сообщений, не в ту тему..
0
460 / 327 / 64
Регистрация: 09.03.2016
Сообщений: 3,226
20.09.2022, 00:53 34

Не по теме:

Ну прости засранца...



Добавлено через 3 минуты

Не по теме:

Не туда попал.

0
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
20.09.2022, 01:09 35
Цитата Сообщение от Laborant666 Посмотреть сообщение
Да. Но и полезные для себя или окружающих проекты - тоже обучают приему, алгоритму, концепции. Разве нет? Ведь гуглить будет что хелловорлдист, что практик на полезном коде - ибо надо ж понять как сделать. А в гугле тоже есть приёмы, алгоритмы и концепции
Я говорю о планомерном освоении базовых вещей с которыми будете работать и работать.
С теми задачами они обособлены и четкие.

Для начала:
Ну вот на вскидку, придумайте реальный проект где будут деревья поиска, таблицы символов, графы ?
И что бы точно было нужно испробовать все базовые методы их обработки и вариаций реализации ?

Добавлено через 57 секунд
Laborant666, хотя мы отходим от темы. Пусть это будет риторическим вопросом )

Добавлено через 5 минут
На счет ООП как механизма, это не единственная концепция организации кода, вот недавно ознакомился с
Entity-Component-System(ECS), довольно увлекательно.
1
Just Do It!
4029 / 2423 / 640
Регистрация: 23.09.2014
Сообщений: 7,818
Записей в блоге: 2
20.09.2022, 10:50 36
Цитата Сообщение от Наталья8 Посмотреть сообщение
Всю жизнь будешь отлаживать...
такое возможно, если проект амбициозный:

1. но это не отладка, а скорее рефакторинг.
2. зачем нужен рефакторинг: чтобы менее болезненно вносить новые фичи.
3. как сделать рефакторинг менее болезненным и конечным: чётко формулировать требования и цели как можно раньше...
4. просто отладка, т.е. чтобы код просто работал так как от него требуется: такая отладка всегда будет занимать конечное время.

Цитата Сообщение от SmallEvil Посмотреть сообщение
Entity-Component-System(ECS), довольно увлекательно.
дык, под капотом там ООП.

ECS я бы определил в группу Больших Проектных Паттернов.

ECS это хороший пример, во что может вырасти ооп,
хотя там полно и сишкооптимизаций, ведь речь про высоконагруженные проги, т.е. про те, что игоры.

сишкооптимизации - не то чтобы кресты их не могут,
просто в тех подвалах с остервенением любят копаться сишкококодеры))

Не по теме:

Юнька, Анрыал, Годот, Урхо, и остальное всё что в тренде - всё это ECS,
сам недавно отвечал за танчик стреляющий снарядом,
Стрельба. Как построить вектор из игрока ?
у мя там был класс Tank и Bullet,
я подумал, а что если их объединить в общий класс, и, омля!
я получил Entity, цука, все дороги ведут в Рим))

1
4866 / 2664 / 914
Регистрация: 29.11.2010
Сообщений: 5,746
20.09.2022, 11:10 37
Цитата Сообщение от XLAT Посмотреть сообщение
дык, под капотом там ООП.
ECS это типа Data-Driven Paradigm.

Это она в той конкретной статье написана в ООП стиле.

Для ценителей есть реализация на хаскеле или на скала.

Цитата Сообщение от Laborant666 Посмотреть сообщение
Почему люди принимают решение учиться делать то - что уже давно сделано на уровне в сотни раз выше их. Не лучше ли сразу на этапе изучения синтаксиса делать хоть сколько-то полезные программы?
Я считаю, что так происходит потому, что в обучении важнее не просидеть три дня отлаживая кусочек кода, а потратить максимум времени на проектирование и написание кода.

Мне хэллоуворлды представляются эдаким "ознакомительным материалом" для оценки чего-то нового.
Полностью согласен с уважаемым XLAT, что удобнее, когда показывают кусочки более реалистичного кода.
Так проще понимать достоинства и недостатки.
Хэллоуворлды подходят лишь для поверхностного ознакомления.
2
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
20.09.2022, 12:42 38
Цитата Сообщение от lemegeton Посмотреть сообщение
Полностью согласен с уважаемым XLAT, что удобнее, когда показывают кусочки более реалистичного кода.
Так проще понимать достоинства и недостатки.
Так построена книга по освоению фреймворка TurboVision.
Там всю книгу пишут красивый калькулятор
Ну и по пути разбирают многие аспекты и устройство этого чуда.
То есть не просто мелкие задачки разбираются, а полноценную программу.
(в конце книги полный листинг кода, не помню, ~1000+ строк)
1
lemegeton
20.09.2022, 12:48
  #39

Не по теме:

Цитата Сообщение от SmallEvil Посмотреть сообщение
Так построена книга по освоению фреймворка TurboVision.
Аж олдскулы свело.

0
Just Do It!
4029 / 2423 / 640
Регистрация: 23.09.2014
Сообщений: 7,818
Записей в блоге: 2
20.09.2022, 13:21 40
Лучший ответ Сообщение было отмечено Laborant666 как решение

Решение

Цитата Сообщение от lemegeton Посмотреть сообщение
Data-Driven Paradigm.
Р.Мартин сказал бы здесь, что термин Paradigm применен неуместно.
Ибо с его обоснования этого термина, всякая Paradigm накладывает ограничение.
Итого, с его помощью мы имеем ТОЛЬКО ТРИ ПАРАДИГМЫ программирования:
- структурную
- ооп
- функциональную


допустим, если бы сюда пришёл CoderHuligun,
то он бы заявил, что его спобоб кодирования это Гоуту Парадигма.
есно это бред.


Цитата Сообщение от lemegeton Посмотреть сообщение
ECS это типа Data-Driven Paradigm.
по ссылке ваще нет ничего похожего, что можно было бы связать DDP(P - programming) c ECS.

Не по теме:

там есть обработка текста регулярками и упоминание скриптоязыков - это оно? ))
дальше я не стал читать, мошъ надо было до конца прочитать?



если же всё же не рассуждать о сферических конях,
а смотреть конкретные реализации ECS,
которые я выше перечислил(а список гораздо больше),
то в ECS под капотом ООП.

нее, я не против того, что можно изголится и выкатить на чем угодно что угодно.
вон, в СИ, например, при правильно его употреблении,
инкапсуляция, более жесткая, чем в крестах и тд и тп..

Цитата Сообщение от lemegeton Посмотреть сообщение
есть реализация на хаскеле или на скала.
функциональщина стала востребована с появлением многоядерности(..),
чтобы можно было безболезненно параллелить.

но всякий параллелизм предполагает, независимость текущего вычисления от предыдущего,
и мы то имеем кучу таких алгоритмов в которых это(параллельное исполнение) невозможно.

и здесь функциональщина будет проседать, т.е. её чистое применение даст оверхед.

Не по теме:

Цитата Сообщение от lemegeton Посмотреть сообщение
на хаскеле или на скала.
по ссылкам, жаль, что там нет демок-ексешников,
чтобы решить, а стоит ли оно того,
чтобы смотреть глубже.

на ютуеб пробывал поискать "демо игра на хаскеле"
результат ноль, только уроки по языку ...

1
20.09.2022, 13:21
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2022, 13:21
Помогаю со студенческими работами здесь

Я полный новичок
20 марта сделал свой первый сайт по партнёрской программе интернет-магазина.Конечно я уже знал что...

полный перебор
и снова я..)у меня есть кусок задачи..там нада просто правильна написать нужную распечатку...ая...

Полный перебор
Здравствуйте. Скорее всего, я пришел не по адресу и мне следовало бы задать свой вопрос где-нибудь...

Не полный Windows 8.1
Всем привет, я поставил себе Windwos 8.1 (лицензионный), всё работает, но он не сильно отличается...

Полный учебник с++
Доброго времени суток!!! Ситуация такая: изучил основы c++, хочу изучить ПОЛНОСТЬЮ его....


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru