|
0 / 0 / 0
Регистрация: 06.12.2009
Сообщений: 17
|
||||||
Инкапсулировать без серьезного изменения..возможно ли?07.02.2011, 22:15. Показов 9136. Ответов 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 | |
|
Возможно Ли Внести Изменения В Дизайн Только Конкретных Почтовых Баз Не удалось запустить Windows. Возможно это произошло из-за недавнего изменения оборудования Инкапсулировать класс Веб-программист для серьезного проекта нужны специалисты для серьезного проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
BitTorrent (версия 7.11 English) и Меню Настройки
russiannick 15.11.2026
Пункты, отвечающие за отключение обновлений в BitTorrent версии 7. 11 (английской)
Options
Preferences
General
Language
|
Транслитерация текста с кириллицы на латиницу (вариант №4)
Maks 15.11.2026
Что-то я перемудрил с предыдущими версиями, в этот раз сделал всё проще, обратившись к функции "СтрокаЛатиницей" из типового общего модуля "СтроковыеФункцииКлиент".
В данной функции нет апострофов,. . .
|
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы.
Карта этого меню приложена ниже.
Нужный пункт выделен красным.
Сервис
Настройки
Поведение
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|