Инкапсуляция (в объектно-ориентированном программировании) | это... Что такое Инкапсуляция (в объектно-ориентированном программировании)? (original) (raw)

Инкапсуляция (в объектно-ориентированном программировании)

Инкапсуляция (в объектно-ориентированном программировании)

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

Инкапсуляция — один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, полиморфизмом и наследованием).

Предостережение: Одна из наиболее распространенных ошибок — делать сокрытие реализации только ради сокрытия. Целями, достойными усилий, являются:

Образ в пример: ложка опущенная в стакан, не меняет его свойств и не становится частью стакана, хотя и помогает пить из него чай; в то же время, сахар, растворенный в чае с помощью ложки, делает его сладким.

Часто инкапсуляция может быть достигнута простейшими организационными мерами: знание того, что «вот так-то делать нельзя» иногда является самым эффективным средством инкапсуляции!

Содержание

Примеры

C++

class A { private: int a,b;//скрытые свойства void Do_Something(void);//скрытый метод. public: int Return_Something(void); //открытый интерфейс };

Класс А инкапсулирует свойства a, b и метод Do_Something, представляя внешний интерфейс Return_Something.

Delphi

В методов их достаточно объявить в секции private.

TMyClass = class private FMyField: Integer; procedure SetMyField(const Value: Integer); function GetMyField: Integer protected public property MyField: Integer read GetMyField write SetMyField; end;

Для создания интерфейса доступа к скрытым полям в свойства.

См. также

Wikimedia Foundation.2010.

Полезное