Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Полиморфизм. Инкапсуляция представляет собой программный механизм, который связывает данные с обрабатывающими их кодами и защищает и те

Спросим у эксперта

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

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

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

Код и данные, составляющие класс, называются членами класса. Конкретно, члены-переменные, называемые также переменными экземпляра, — это данные, определенные в классе. Члены-функции, или просто функции — то коды, предназначенные для операций над данными. Функция — это термин С++, обозначающий подпрограмму.

 

Вопрос: Я сталкивался с обозначением подпрограммы термином метод. Метод и функция - это одно и то же?

Ответ: В общем случае, да. Термин метод получил распространение вместе с языком Java. То, что программисты на С++ называют функцией, Java-программисты обозначают словом метод. Этот термин стал так широко использоваться, что его часто применяют и по отношению к функциям С+ +.

 

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

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

 

<== предыдущая лекция | следующая лекция ==>
Спросим у эксперта | Спросим у эксперта. Наследование является процессом, который позволяет одному объекту приобретать свойства другого объекта
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 652; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.