|
8 / 8 / 0
Регистрация: 17.04.2010
Сообщений: 112
|
|
Для чего было придумано сокрытие данных в ООП?02.06.2010, 22:14. Показов 7329. Ответов 11
Метки нет (Все метки)
Кто может понятно объяснить это? Т.е. для чего мы объявляем поля класса как private , почему обычно не объявляют их как public ? для чего было придумано сокрытие данных, каково его предназначение и в чем смысл?
0
|
|
| 02.06.2010, 22:14 | |
|
Ответы с готовыми решениями:
11
Очистка полей ввода данных и сокрытие группы объектов набора данных Потоки и сокрытие данных Сокрытие повторяющихся данных при постороении |
|
31 / 30 / 19
Регистрация: 18.01.2010
Сообщений: 123
|
|
| 02.06.2010, 22:43 | |
|
читай книжки там все есть
Применение методов доступа позволяет скрыть от пользователя детали хранения данных в обектах и, в то же время, снабжает их методами использования этих данных. изменяя способы хранения и обработки данных в классе не придется изменять его методы
0
|
|
|
|
|
| 02.06.2010, 22:47 | |
|
например: естли нескольо разных програмистов пишут одну програму по частям, и на зывают переменные однаковыми именами, то естли они огласят их ка паблик, при компиляции программы будут ошыбки, а естли же они огласят их как приват, то никаких ошыбок и збоев программа не даст...
вот такое основное назначение типов скрытости переменных..
2
|
|
|
8 / 8 / 0
Регистрация: 17.04.2010
Сообщений: 112
|
|
| 03.06.2010, 00:27 [ТС] | |
|
Вот!
Nazz, спасибо!
0
|
|
|
|
||||||||||||||||||||||
| 03.06.2010, 00:44 | ||||||||||||||||||||||
Сообщение было отмечено как решение
Решениедопустим есть класс, описывающий целочисленный массив. в нем есть собственно указатель на данные и переменная хранящая размер. в нормальной реализации эти данные естественно будут объявлены как private, либо protected. есть так же метод, который допустим сортирует этот массив.
так как сейчас доступ к переменной size открыт, пользователь класса может безнаказанно ее изменять.
так же и сами данные (ptr) лежат в открытом виде. что также позволяет провести такие операции как например.
если данные лежат в private области ничего подобного сделать не получится. компилятор начнет ругаться. плюс к этому с помощью функций можно обеспечивать доступ к данным в любом режиме: - только чтение - чтение и запись - только запись! в общем вдумывайтесь. и действительно читайте книги.
5
|
||||||||||||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 03.06.2010, 01:39 | |
|
Nazz, написал немного не то.
Если несколько программёров пишут прогу, то тогда уж им все переменные придётся объявлять privat, что ли? А вообще я уже говорил где-то. Использование классов и, сооответственно private это блажь Единственный выигрыш- сокращение кода за счёт перегрузки функций.
0
|
|
|
|
|||
| 03.06.2010, 09:02 | |||
|
0
|
|||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 04.06.2010, 09:22 | |
|
В реальном мире все большие и сложные системы устроены примерно одинаково. Они состоят из довольно однотипных сложных подсистем, которые обмениваются друг с другом довольно простыми сигналами. Примеры: армия, муравейник, многоклеточный организм.
Когда программные системы стали большими и сложными, они поневоле стали устраиваться так же, потому что иначе не работает. Объект класса - это сложная подсистема сложной программы, обменивающаяся с другими подсистемами простыми сообщениями в виде интерфейсных функций.
1
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 04.06.2010, 11:25 | |
|
В принципе согласен, только говорить, что "иначе не работает" неправомерно.
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 04.06.2010, 11:29 | |
|
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 04.06.2010, 11:31 | |
|
Сказать всё, что угодно можно...
0
|
|
|
|
||
| 15.09.2011, 19:22 | ||
|
Возможно, другое дело КАК работают? Дорабатывать и развивать такой проект очень и очень....и очень и очень сложно. Бесконечные, неочевидные баги (иногда очень примитивные) если внимательно всмотрется хаос кода. Чужим, непосвящёным программистам в баго-архитектуре сложно связать концы с концами. Повторное использование кода невозможно. В итоге, конкурировать на рынке такой продукт сможет только если цена упадёт в несколько раз. Не по теме: Если мне вдруг повезёт, и я открою свою софтверную компанию, то первым делом всех программеров... ну не то что бы заставлю.... это условие будет при приёме на работу) прочитать Чистый код. Далее, продумать архитектуру проекта. И только после чательного продумывания программировать. А не наоборот.
0
|
||
| 15.09.2011, 19:22 | |
|
Помогаю со студенческими работами здесь
12
Инкапсуляция и сокрытие данных не одно и тоже?
ООП, БД для хранения данных о сотрудниках предприятия Не знаю с чего начать в ООП
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|