|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
||||||
Прохождение всех методов класса через определенную конструкцию21.08.2016, 08:30. Показов 1528. Ответов 26
Метки нет (Все метки)
Здравствуйте. Предположим нужно чтобы все методы определенного класса проходили через какую-то конструкцию, например цикл. Насколько правильна данная конструкция и каким образом можно сделать по-другому?
0
|
||||||
| 21.08.2016, 08:30 | |
|
Ответы с готовыми решениями:
26
Вызов всех методов класса асинхронно Вывод всех методов созданного класса. Написать программу для демонстрации всех методов класса |
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|
| 21.08.2016, 08:57 | |
|
0
|
|
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|
| 21.08.2016, 14:30 [ТС] | |
|
Предположим у меня есть класс. И я хочу чтобы все методы данного класса выполнялись по 3 раза. Чтобы не писать в каждом методе цикл я создал 1 метод с циклом и туда передаю имя метода, который нужно выполнить в цикле.
0
|
|
|
Software Engineer
332 / 335 / 55
Регистрация: 23.09.2014
Сообщений: 994
|
||
| 22.08.2016, 23:04 | ||
|
1
|
||
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|
| 23.08.2016, 08:29 [ТС] | |
|
Я получаю данные по апи и регулярно бывает так что данные не приходят. И тогда появляются ошибки. Для этого я и пытаюсь сделать чтобы, если данные получены, то выходим из цикла, если нет - запрашиваем еще раз. Возможно конечно есть другой выход из данной ситуации. Буду признателен за подсказку.
0
|
|
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|
| 26.08.2016, 08:18 [ТС] | |
|
Есть какие-нибудь комментарии по этому вопросу? Плохая идея или нормальная? И есть ли ответ на мой изначальный вопрос?
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
||||||
| 26.08.2016, 08:34 | ||||||
|
Может за пределы класса вынести цикл?
0
|
||||||
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|
| 26.08.2016, 08:51 [ТС] | |
|
Да, но тогда мне при каждом обращении нужно писать цикл, а их очень много.
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|
| 26.08.2016, 08:58 | |
|
MadHatter, тогда сложно что-то конкретное сказать, нужно видеть структуру класса, понимать как и какие задачи он решает.
1
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||||
| 26.08.2016, 09:06 | ||||||
Сообщение было отмечено MadHatter как решение
Решение
Можно написать рекурсивную функцию вроде этой, чтобы запросы шли через неё:
1
|
||||||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||||||
| 26.08.2016, 14:06 | |||||||
Сообщение было отмечено Jewbacabra как решение
Решение
MadHatter, вариант в первом посте можно чуть упростить с помощью магического метода __call, т.е. вместо кучи someMethod сделать один универсальный __call. Правда, автокомплит пропадет, но это лучше чем подобное дублирование.
У вас наверняка есть класс делающий запросы по url. Делаете класс обертку и уже его дергайте из других классов. Соответственно эту обертку вы можете менять как угодно, хоть сто раз запросы делать, хоть логировать итп...
1
|
|||||||
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|
| 26.08.2016, 21:44 [ТС] | |
|
Para bellum, спасибо, то что нужно. Все время забываю про возможность рекурсии.
tarasalk, понятно. Спасибо за ответ.
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
| 26.08.2016, 22:33 | |
|
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 27.08.2016, 05:49 | ||
|
Можно и while инкапсулировать, но в чём тогда отличие от того примера, что я показал?
0
|
||
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||
| 27.08.2016, 12:39 | |||
|
читая код сверху вниз вы будете понимать что происходит в коде не особо думая какие аргументы будут в вашей функции в очередном вызове с использованием рекурсии
0
|
|||
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|
| 27.08.2016, 21:12 [ТС] | |
|
Fedor Vlasenko, предположим у меня есть много методов для получения различной информации по апи. Тогда получается что мне нужен еще 1 метод с циклом и передавать туда имя метода, который нужно зацикливать. Как в моем первом посте. Но это ведь тоже зло. Или как по другому можно это реализовать?
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||
| 28.08.2016, 13:09 | |||
|
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 28.08.2016, 13:47 | ||
|
1
|
||
|
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
|
|||
| 29.08.2016, 12:55 [ТС] | |||
|
Jewbacabra, я же не спорю. Интересующий меня ответ я получил. Мне просто было интересно каким образом Fedor Vlasenko решил бы данную задачу.
0
|
|||
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||
| 29.08.2016, 13:09 | |||
|
0
|
|||
| 29.08.2016, 13:09 | |
|
Помогаю со студенческими работами здесь
20
Как обеспечить видимость класса в пределах формы и всех ее методов Написать меню, позволяющее осуществить проверку всех методов класса
Управляемый цикл через вызовы методов класса Описание всех свойств и методов класса следует вынести в отдельный модель Planet.cpp Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|