Найти тему
Fakeminer

Объектно-ориентированное программирование Python // Часть 6 // Инкапсуляция

Предыдущая часть

Инкапсуляция - это способ защитить класс от поломки. Благодаря этому мы не сможем получить доступ к методу или полю где-то вне класса. Но какие уровни защиты существуют?

public - поле или метод можно использовать где угодно

private - поле или метод можно использовать только внутри класса или внутри класса наследника

protected - поле или метод можно использовать только внутри класса

В Python нет модификаторов доступа, это такие переменные, которые ограничили бы доступ к полям. То есть, если стоит модификатор private, а мы попытаемся обратиться к полю вне класса, то будет ошибка. В питоне такого нет, но программисты придумали кое что получше!

Если вы хотите установить уровень public просто запишите название поля / метода

Если хотите установить уровень private добавьте в начало названия одно подчеркивание

Если хотите установить уровень protected добавьте в начало два подчеркивания.

Чтобы вы проще поняли смысл инкапсуляции, я написал вот такой код:

Там написано, в каком случае использовать поле можно а в каком нельзя.

Следующая часть