На данный момент, я думаю, нам нужна обязательная анонимно-рекурсивная функция.
Y = lambda f: (lambda x: x(x))(lambda y: f(lambda *args: y(y)(*args)))
chunks = Y(lambda f: lambda n: [n[0][:n[1]]] + f((n[0][n[1]:], n[1])) if len(n[0]) > 0 else [])
Они являются модификаторами доступа и помогают нам реализовать инкапсуляцию (или сокрытие информации). Они сообщают компилятору, какие другие классы должны иметь доступ к определяемому полю или методу.
private
- Только текущий класс будет иметь доступ к полю или методу.
protected
- Только текущий класс и подклассы (а иногда и классы того же пакета) этого класса будут иметь доступ в поле или метод.
public
- Любой класс может ссылаться на поле или вызывать метод.
Предполагается, что эти ключевые слова используются как часть объявления поля или метода в определении класса.
Открытый элемент - это элемент, доступный из любого другого класса. Вам просто нужно знать, что это за объект, и вы можете использовать оператор точки для доступа к нему. Защищенный означает, что класс и его подклассы имеют доступ к переменной, но не любым другим классам, им нужно использовать геттер / сеттер, чтобы делать что-либо с переменной. Закрытый означает, что только этот класс имеет прямой доступ к переменной, все остальное нуждается в методе / функции для доступа или изменения этих данных. Надеюсь, это поможет.
Подводя итог, в объектно-ориентированном программировании все моделируется в виде классов и объектов. Классы содержат свойства и методы. Ключевые слова Public, private и protected используются для указания доступа к этим членам (свойствам и методам) класса из других классов или других .dll или даже других приложений.
На самом деле это не концепции, а скорее конкретные ключевые слова, которые, как правило, встречаются (с немного другой семантикой) в популярных языках, таких как C ++ и Java.
По сути, они предназначены для того, чтобы позволить классу ограничивать доступ к членам (полям или функциям). Идея состоит в том, что чем меньше одному типу разрешен доступ в другом типе, тем меньше может быть создано зависимостей. Это позволяет более легко изменять объект, к которому осуществляется доступ, не затрагивая объекты, которые на него ссылаются.
В общем, общедоступный означает, что доступ разрешен всем, частный означает, что доступ разрешен только членам одного и того же класса, а защищенный означает, что также разрешены члены подклассов. Однако каждый язык добавляет к этому свои особенности. Например, C ++ позволяет наследовать непублично. В Java