Please wait!
Please wait!

ALEXEYWORLD.COM

alexeyworld.com

ООП: Инкапсуляция

ООП Инкапсуляция

Характерные черты объектно-ориентированного программирования: инкапсуляция, полиморфизм и наследование.

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

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

Основной единицей инкапсуляции в С# является класс. Класс определяет форму объекта. Он задает как данные, так и код, который будет оперировать этими данными. В С# класс используется для создания объектов. Объекты — это экземпляры класса. Таким образом, класс — это по сути набор шаблонных элементов, которые показывают, как построить объект.

Код и данные, которые составляют класс, называются членами класса. Данные, определенные в классе, называются переменными экземпляра (instance variable), а код, который оперирует этими данными, — методами-членами (member method), или просто методами. "Метод" — это термин, применяемый в С# для обозначения подпрограммы. Если вы знакомы с языками С или C++, то, вероятно, догадываетесь о том, что то, что С#-программист называет методом, С/С++-программист назовет функцией. А поскольку С# — прямой потомок C++, термин "функция" также приемлемо использовать, когда речь идет о С#-методе.

опубликовано: 12.03.2012, 09:49 | просмотров: 5227 |