Что такое публичное, частное и защищенное в объектно-ориентированном программировании? - PullRequest
76 голосов
/ 20 июня 2009

Что такое публичное, частное и защищенное в объектно-ориентированном программировании?

Ответы [ 5 ]

132 голосов
/ 20 июня 2009

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

private - только текущий класс будет иметь доступ к полю или методу.

protected - Только текущий класс и подклассы (а иногда и классы одного пакета) этого класса будут иметь доступ к полю или методу.

public - Любой класс может ссылаться на поле или вызывать метод.

Предполагается, что эти ключевые слова используются как часть объявления поля или метода в определении класса.

4 голосов
/ 11 апреля 2011

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

4 голосов
/ 20 июня 2009

На самом деле это не понятия, а конкретные ключевые слова, которые обычно встречаются (с немного другой семантикой) в популярных языках, таких как C ++ и Java.

По сути, они предназначены для того, чтобы позволить классу ограничить доступ к членам (полям или функциям). Идея состоит в том, что чем меньше одному типу разрешен доступ к другому типу, тем меньше можно создавать зависимости. Это позволяет легче изменять доступ к объекту, не затрагивая объекты, которые к нему относятся.

Вообще говоря, открытый означает, что каждому разрешен доступ, частный означает, что доступ разрешен только членам одного класса, а защищенный означает, что также разрешены члены подклассов. Тем не менее, каждый язык добавляет свои собственные вещи к этому. Например, C ++ позволяет вам наследовать не публично. В Java также есть уровень доступа по умолчанию (пакет), и есть правила для внутренних классов и т. Д.

1 голос
/ 20 июня 2009

Публичный элемент - это элемент, доступный из любого другого класса. Вам просто нужно знать, что это за объект, и вы можете использовать оператор точки для доступа к нему. Защищенный означает, что класс и его подклассы имеют доступ к переменной, но не к каким-либо другим классам, им нужно использовать метод получения / установки для любых действий с переменной. Приватный означает, что только этот класс имеет прямой доступ к переменной, для всего остального необходим метод / функция для доступа или изменения этих данных. Надеюсь, это поможет.

0 голосов
/ 20 июня 2009

Подводя итог, в объектно-ориентированном программировании все моделируется на классы и объекты. Классы содержат свойства и методы. Открытые, частные и защищенные ключевые слова используются для указания доступа к этим членам (свойствам и методам) класса из других классов или других .dll или даже других приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...