Лекция: Инкапсуляция. Атрибуты ,методы. Интерфейсы объектов

Инкапсуляция(encapsulation) — Механизм ООП позволяющий скрыть описание реализации объекта от использующих его модулей.

Класс (class) — коллекция переменных, скомбинированная с набором связанных функций.
Объект (object) — отдельный экземпляр класса.

 

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

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

Мы живем в мире объектов. Стол, автомобиль, ручка, классная доска – все это объекты. Наряду с физическими существуют так же абстрактные объекты, типичными представителями которых являются числа. Таким образом, объект – это любая физическая или абстрактная четко идентифицируемая сущность. Объект – это общефилософское понятие, которое изучалось философами на протяжении длительного времени.

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

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

Таким образом, объект инкапсулирует атрибуты и методы, скрывая от других объектов взаимодействующих с ним и использующих его функциональность, свою реализацию. Так для того чтобы переключить телевизионную программу нам достаточно на пульте дистанционного управления набрать ее номер, что запустит сложный механизм, который в итоге и приведет к желаемому результату. Нам совершенно не обязательно знать, что происходит в пульте дистанционного управления и телевизоре, нам лишь достаточно знать, что телевизор обладает такой возможностью (методом) и как ее можно активировать. Инкапсуляция или сокрытие реализации является базовым свойством ООП. Она позволяет создавать пользовательские объекты, обладающие требуемыми методами и далее оперировать ими, не вдаваясь в устройство этих объектов. Объект – это экземпляр некоторого класса объектов или просто класса. Так автомобиль Audi 6 является экземпляром класса автомобилей данной модели, приемник Sony SW-7600G так же будет представителем класса одноименных приемников. Таким образом, класс – это абстрактное понятие. На UML – унифицированном языке моделирования – класс отображается в виде прямоугольника, разделенного на три части. В первой содержится имя класса, во второй – атрибуты, в третьей – методы (рис. 1, а).

Рис. 1. Изображения класса и отношений генерализации в UML: а – изображение класса; б – одиночное наследование; с – множественное наследование

 

 

еще рефераты
Еще работы по информатике