Пояснительная бригада: личное значит личное

Пояснительная бригада: личное значит личное

Поясняет редакция «Кода»:

— Я могу взять твою ручку? (Can I borrow your pen?)
— Нет, это моя личная ручка. (No, that's my private pen.)
— Но мы в одном классе. (But we are in the same class.)

Шутка играет с понятиями private и class, которые есть как в повседневной жизни, так и в объектно-ориентированном программировании.

У слова private несколько значений: личный, частный, приватный и конфиденциальный. В переводе диалога выше мы использовали значение «личный», как наиболее подходящее контексту.

В ООП private — это модификатор доступа. Если что-то объявлено как private, например переменная, метод или объект, то это значит, что оно доступно только внутри своего класса и не может быть использовано напрямую за его пределами.

Same class можно понимать как «в одном школьном классе» в том смысле, что участники диалога учатся вместе. В то же время в программировании same class означает, что два объекта принадлежат одному и тому же классу.

В ООП class — это структура или шаблон для создания объектов. Объекты одного и того же класса могут взаимодействовать друг с другом и иметь доступ к публичным и защищённым методам и полям друг друга. Но если метод или поле одного объекта определены как private, другой объект не может иметь к ним доступа, даже если он принадлежит тому же классу.

Получается, что если подразумевать обычные значения слов private и same class, то второй собеседник мог бы всё-таки одолжить ручку первому — как-никак они одноклассники. Но в программистских значениях возражение But we are in the same class в ответ на No, that's my private pen ничего не значит — приватное на то и приватное, что доступа к этому ни у кого нет. Второй собеседник так и не поделится ручкой :-)

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме