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

StackOverflow https://stackoverflow.com/questions/1020749

Вопрос

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

Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top