Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




Абстрагирование

Основные элементы объектно-ориентированного проектирования

В объектно-ориентированном проектировании важную роль играют четыре элемента:

1. абстрагирование

2. инкапсуляця

3. наследование

4. полиморфизм

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

 

Абстрагирование – метод, позволяющий находить в объектах и явлениях сходство и игнорировать различия, выделять общее, а не частное. Абстрагирование необходимо для точного описания объекта. Например, для использования тексто­вого окна (TextBox) его не нужно специально разрабатывать. Просто используется абстрактный объект класса TextBox, который содержит все, что нужно для редактирования текста в Windows.

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

 

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

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

 




Поделиться с друзьями:


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


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



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




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