Найти - Пользователи
Полная версия: модификаторы доступа
Начало » Python для новичков » модификаторы доступа
1
dplut
Здравствуйте!
Извиняюсь за возможно глупый вопрос.
Подскажите, что у python с модификаторами доступа, такие как public, protected, private как в Java например. Нет что ли? Или это только во 2 версии? А как же инкапсуляция, наследование и полиморфизм.
JOHN_16
Нет , в чистом виде нету.
С наследованием все в порядке, полиморфизм есть, но он несколько по другому реализован. Если хотите понять как именно - читайте хорошие книги, у Лутца кажется там все хорошо описано.
igrishaev
Модификаторов доступа в Питоне нет.
Служебные методы обычно именуют с подчеркиванием, например, _api_request().
odnochlen
dplut
такие как public, protected, private как в Java например.
В питоне есть:
- Имена без подчеркиваний - типа как public
- Имена с одним подчеркиванием (_name) - слабо приватные. Не импортируются по from module import *.
- Имена с двумя (__name) - сильно приватные. По obj.__name к ним обратиться нельзя.

А так по большому счету как в яве - нет. Все базируется на надежде, что девел не будет обращаться к тому, к чему не надо.
fata1ex
dplut
Или это только во 2 версии?

Всегда интересовало, откуда берут такие сведения.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB