|
0 / 0 / 0
Регистрация: 06.12.2009
Сообщений: 17
|
||||||
Инкапсулировать без серьезного изменения..возможно ли?07.02.2011, 22:15. Показов 8367. Ответов 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. Возможно это произошло из-за недавнего изменения оборудования Инкапсулировать класс Веб-программист для серьезного проекта нужны специалисты для серьезного проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|