![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
namespace - это вроде контейнера, а publc - разрешает доступ как из других namespase-ов, так и внутри того, где объявлен?
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
mes, такой вариант: поддержка ООП. То есть:
инкапсуляция -- private наследование -- protected public -- вроде "побочного эффекта", т.к. оба модификатора в той или иной степени запретительные |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
![]() ![]() не понял мысли.. Добавлено через 1 минуту и 30 секунд П.С. namespace это не class |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
mes, я сейчас action script3 изучаю, там вместо ns - package и есть еще один модификатор доступа internal - для доступа только внутри пакета. появились вопросы о смысле модификаторов доступа. Сейчас в голове сложилась такая вот схема. Вроде логично объясняет смысл модификаторов (кроме internal - на это, видимо, есть нюанс виртуальной машины flash'a).
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
класс предоставляет клиенту набор услуг. этот набор содержится в его public части |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
ага, упустил из виду. Не знаю, как у Старуструпа, но в вики нашел определение, что это не только сокрытие, но и предоставление интерфейса. Тогда получается, что инкапсуляцию обеспечивают private и public. Прямо как инь и янь ![]() А наследование -- protected. |
|||
|
||||
zim22 |
|
||||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
Gunslinger, я не понимаю о чём ты говоришь. давай разбираться.
"это" - это что?
каким образом public обеспечивает инкапсуляцию? |
||||
|
|||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
zim22, про инкапсуляцию говорю. Вот: "Инкапсуля́ция — свойство языка программирования, позволяющее объединить данные и код в объект и скрыть реализацию объекта от пользователя. При этом пользователю предоставляется только спецификация (интерфейс) объекта." У с++ по умолчанию private, поэтому нужно еще обеспечить доступ - вот тебе public.
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
||||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Проблема в том, что я знаю ООП не зная его. Такое неосознанное незнание. На днях столкнулся с модификаторами доступа в другом языке и понял это. Теперь только осознаю смысл модификаторов. А запостил тему, чтобы окончательно закрепить новую информацию.
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
такого не бывает. почитай книги по "объектно-ориентированному анализу/проектированию". я сейчас читаю "Объектно-ориентированный анализ и проектирование с примерами приложений." 3 издание. Гради Буч. но я очень не рекомендую повторять мою ошибку. русский перевод просто кишит неточностями/ошибками перевода. есть смысл подождать исправленную версию. след.книгу, которую я буду читать называется "Применение UML и шаблонов проектирования". Ларман. её и рекомендую ![]() |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
в С++, в отличие от более поздних языков, нет модификаторов доступа для неймспесов, только для классов
то есть ты не можешь с помощью какого-то ключевого слова открыть функцию класса только для классов из данного неймспейса |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
![]()
![]() Ни private ни public и ни protected не имеют отношения ни к инкапсуляции ни к наследованию. (Хотя public/private еще можно к инкапсуляции за уши притянуть, но лучше не надо - ушей жалко ![]() |
||||
|
|||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Ощущение такое, как-будто чел знает какой-то язык, и пытается провести параллель. Или еще что-то...
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |