|
0 / 0 / 0
Регистрация: 06.12.2009
Сообщений: 17
|
||||||
Инкапсулировать без серьезного изменения..возможно ли?07.02.2011, 22:15. Показов 7656. Ответов 90
Метки нет (Все метки)
собственно это кольцевая очередь, на которой у меня построено уже 4 след лабы.Пошел сегодня сдавать - препод ткнул рукой в не инкапсулированный public: list_block* next; из class list_block в самом начале. И говорит, пока не перепишешь все так, чтоб он был в привате - не приму. А там куча операций присваивания и считывания через (->) из class circle_list и его сына quene. Причем фрэнды использовать запретила. НА все мои возражения только кивает *овца(( Во общем, как малой кровью вбахать эту глупость в приват и иметь к ней нормальный доступ отовсюду? что не переписывать еще 5 таких лаб в хз скольких меcтах ?..
0
|
||||||
| 07.02.2011, 22:15 | |
|
Ответы с готовыми решениями:
90
Событие изменения содержимого страницы без изменения адреса и перезагрузки страницы Возможно ли изменения счётчика Возможно ли в IDLE применить изменения, не закрывая всех окон? |
|
|
|||
| 10.02.2011, 23:41 | |||
|
P.S. кстати на момент написания поста я не видел вашего сообщения.
0
|
|||
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 10.02.2011, 23:43 | |
|
Если в моих рассуждениях есть ошибка, то укажи на неё, в противном случае я прав, а ты, следовательно, не прав.
Добавлено через 45 секунд Predator_2004, а мы тут про делфи? Извини, не просёк! Добавлено через 43 секунды А, и ещё номер страницы из Страуструпа.
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 10.02.2011, 23:45 | ||
|
0
|
||
|
|
|
| 10.02.2011, 23:47 | |
|
Поправка:"Язык программирования с++" со стр 122. Особое внимание с 124.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 11.02.2011, 00:15 | ||||||
|
volovzi, А вам кто-то говорил разве, что класс некорректен, если его подкласс (узел списка к примеру) является структурой, но заключен в приватную часть класса?
Читая ваши сообщения у меня такое ощущение, что вы пытаетесь доказать правильность конструкции типа
0
|
||||||
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|||
| 11.02.2011, 00:21 | |||
|
В этой теме я уже приводил пример класса из СБШ, в котором переменные открыты. Собственно, я веду к тому, что «предоставляемый интерфейс» — это не обязательно функции. Открытые переменные — это тоже предоставляемый интерфейс, при этом, если точно известно, что изменение значений переменных происходит «просто», то есть не нужно проводить какой-то фильтрации или дополнительных действий, то этот интерфейс является наиболее лаконичным и органичным.
0
|
|||
|
0 / 0 / 0
Регистрация: 06.12.2009
Сообщений: 17
|
|
| 11.02.2011, 00:23 [ТС] | |
|
=((
черт..перечитал.. вроде все понял, но ну действительно, чем мой бедный class list_block отличается от std: airи там и там нужные переменные для работы класса закидываются напрямую через равно и все живы и здоровы. И вроде как я таких как этот классов несколько точно встречал. в чем кардинальное различие,? это еще может не в тему. Но в C# вообще в каждом втором классе так делают. Но там наверно парадигма другая.. вообще, тогда по вашему выходит, что переменных в паблике как таковых быть не должно НИКАКИХ?
0
|
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 11.02.2011, 00:24 | |
|
ForEveR, ты либо очень невнимательно читаешь, либо издеваешься. Я в этой теме уже много раз очень доходчиво объяснял, как я предлагаю делать в данном случае, и даже приводил краткий пример.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 11.02.2011, 00:28 | ||||||
|
volovzi, А разве с вами кто-то спорил, что это плохо?
0
|
||||||
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 11.02.2011, 00:32 | |
|
ForEveR, ну да, собственно об этом со мной и спорят. Про next/prev и речи не было, потому что у автора они как раз защищены.
Добавлено через 51 секунду Стоп, я вообще ничего не понял. Добавлено через 56 секунд Ты о чём? Я как раз утверждаю, что next/prev и value узла списка вполне могут быть открытыми. Добавлено через 57 секунд А вот head/tail уже надо закрывать, потому что доступ к ним более сложен, чем к данным узла.
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||
| 11.02.2011, 00:37 | |||||
|
Во-вторых, все может изменится. Сегодня объект выполняет операцию сам, а завтра делегирует выполнение другому объекту.
0
|
|||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 11.02.2011, 00:38 | |
|
volovzi, Тогда объясни какого лешего я должен открывать next/prev в самом списке? Зачем, если я пишу класс с функциями, которых вполне хватает?
0
|
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|||||
| 11.02.2011, 00:54 | |||||
|
Ты говоришь правильные вещи, но неправильно их понимаешь. Слова «struct» и «class» нужны для удобства программиста. Различаются они только спецификаторами по-умолчанию. «Структура» в твоей терминологии — это в моей терминологии «простой класс», т.е класс, данные в котором используются как есть, поэтому скрывать их и предоставлять к ним функции доступа нет смысла. И при этом не важно, каким словом начинается описание этого класса на самом деле.
0
|
|||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||
| 11.02.2011, 01:03 | |||||||
|
volovzi, В STL фишка в используемой концепции. Очень многое там сделано через итераторы.
0
|
|||||||
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|||
| 11.02.2011, 01:10 | |||
|
Predator_2004, извини, не нашёл места, про которое ты говоришь. Уточни, пожалуйста (у меня «специальное издание» неизвестно какого года выпуска).
Добавлено через 3 минуты .
Кстати, твой пример нисколько не запрещает мне «свалить» код при помощи тех же сеттеров, если мне очень захочется.
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 11.02.2011, 01:11 | ||
Список - сущность. Цитата, тоже не дословная... Если вы видите нечто как сущность, сделайте ее классом.
0
|
||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 11.02.2011, 01:17 | |
|
volovzi,
, Вы хоть на минуту забудьте про C++ и попробуйте понять, что Вам говорят. Не получится - обратитесь к литературе по ООП.
1
|
|
|
0 / 0 / 0
Регистрация: 06.12.2009
Сообщений: 17
|
||
| 11.02.2011, 01:19 [ТС] | ||
не пользователю!! ну где здесь нарушение инкапсуляции?
0
|
||
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
||
| 11.02.2011, 01:20 | ||
|
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 11.02.2011, 01:22 | |||||||||||
|
volovzi, То есть это достаточная сущность?
0
|
|||||||||||
| 11.02.2011, 01:22 | |
|
Помогаю со студенческими работами здесь
80
Возможно Ли Внести Изменения В Дизайн Только Конкретных Почтовых Баз Не удалось запустить Windows. Возможно это произошло из-за недавнего изменения оборудования Инкапсулировать класс Веб-программист для серьезного проекта нужны специалисты для серьезного проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|