Подтвердить что ты не робот

Модификаторы контроля доступа, такие как государственные/частные/защищенные

Как появились эти ключевые слова и концепции? Какими были их силы и проблемы? Какой у них был первый язык?

Собственно, это не только public/private/protected, а весь диапазон ключевых слов, которые обеспечивают соблюдение некоторых правил (abstract, final, internal).

Но, пожалуйста, не принимайте вещи. Ответьте, если вы знаете хотя бы часть ответа или ответа, если вы прожили эти моменты. Ссылки приветствуются.

4b9b3361

Ответ 1

Simula (1967), который считается первым языком OO, имеет модификаторы, называемые защищенный и скрытый. Я предполагаю, что публикация является дефолтом, я не помню. Он также использует виртуальный.

И, благодаря Павлу, Simula представил наиболее важные ключевые слова (и понятия) класса, этого, нового, downcasting и ссылочные типы.

Smalltalk (1980), более поздний, но гораздо более основополагающий язык OO, дал нам Методы, отвечающие на < сильные > сообщения. В основном это те же функции, что и виртуальные функции. Сообщения и классы позже были имитированы в C (не OO), чтобы дать полиморфное поведение Windows API. Но все еще нуждаются в уродливых операторах switch и указателях функций, чтобы заменить наследование.

Первое использование Свойства было, насколько мне известно, в Delphi (Object Pascal, < 1994).

Ответ 3

такого рода вещи начинаются с нескольких разработчиков языка, спрашивающих "какое простое логическое имя для этой концепции"? то со временем некоторые имена становятся популярными (иногда потому, что они хорошие имена, иногда просто потому, что). добавьте 20 лет, и большинство людей в конечном итоге выбирают одинаковые имена, основываясь на том, что они видели.

похожий вопрос, возможно, на вопрос о том, как новые слова добавляются к (скажем) английскому языку.

Ответ 4

Для С++ истоки частной и общественной защиты исходят от экспериментов Stroustrup с C With Classes, но из еще более старой системы - компьютера Cambridge CAP. Это описано в разделе 2.10 "Дизайн и эволюция С++".

Что касается защищенного, у которого было более мрачное прошлое, и у меня нет хорошей справки.