Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ќбъектно-ориентированное программирование




 

— дальнейшим ростом сложности программных продуктов вы€снилось, что возможности структурного и модульного программировани€ ограничены и зачастую уже не позвол€ют добиватьс€ желаемого результата (либо ничего не работает, либо проект не укладываетс€ в сроки, либо в бюджет, либо через год после написани€ программы вы€сн€етс€, что ее невозможно модифицировать и т.д.). Ёти ограничени€ в основном вызваны разобщЄнностью в программе данных и методов их обработки.

¬ начале 80-х годов ’’ века в программировании возникло новое направление, основанное на пон€тии объекта. –еальные объекты окружающего мира обладают трем€ базовыми характеристиками: они имеют набор свойств, способны разными методами измен€ть эти свойства и реагировать на событи€, возникающие как в окружающем мире, так и внутри самого объекта.

»менно в таком виде в €зыках программировани€ и реализовано пон€тие объекта как совокупности свойств (структур данных, характерных дл€ этого объекта), методов их обработки (подпрограмм изменени€ свойств) и событий, на которые данный объект может реагировать и которые привод€т, как правило, к изменению свойств объекта.

ќбъектно-ориентированное программирование в некоторой степени решило большинство вышеописанных проблем. ѕо€вление возможности создани€ объектов в программах качественно повли€ло на производительность труда программистов. ћаксимальный объем приложений, которые стали доступны дл€ создани€ группой программистов из дес€ти человек, за несколько лет увеличилс€ до миллионов строк кода. ѕри этом одновременно удалось добитьс€ высокой надежности программ и, что немаловажно, повторно использовать ранее созданные объекты в других задачах.

¬ отличие от рассмотренных ранее методологий, объектно-ориентированный подход работает уже на начальных стади€х программировани€ Ц анализа и проектировани€. ќбъекты представл€ют собою упрощенное, идеализированное описание реальных сущностей предметной области. ≈сли соответствующие модели адекватны решаемой задаче, то работать с ними оказываетс€ намного удобнее, чем с низкоуровневым описанием всех возможных свойств и реакций объекта.

¬ объектно-ориентированном программировании (ќќѕ) используютс€ следующие базовые пон€ти€:

ќбъект Ц совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств). “о есть объект способен как хранить информацию, так и преобразовывать. ѕрактически всЄ может быть представлено объектом, и очень часто одни объекты состо€т из других. ѕриведЄм примеры стандартных объектов оконного интерфейса: формы, вкладки, надписи, текстовые пол€, кнопки и др.

—войство Ц характеристика объекта, его параметр. ¬се объекты наделены определенными свойствами, которые в совокупности выдел€ют объект из множества других объектов. Ќабор свойств стандартных элементов графического интерфейса включает в себ€ размеры объекта, его положение на экране, эффекты отображени€ и др.

ћетод Ц св€занный с определенным объектом программный код, определ€ющий его возможное поведение или преобразование свойств. ќбъект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем (а точнее Ц программистом) или заимствованных в стандартных библиотеках (аналогично стандартным подпрограммам обработки данных при структурном подходе).

ќбъекты могут объедин€тьс€ в классы (группы, наборы, коллекции Ц в различных программных системах возможна друга€ терминологи€).  ласс Ц совокупность объектов, характеризующихс€ общностью примен€емых методов обработки или свойств. ѕо сути, класс представл€ет собой описание структуры данных, в которую включено описание методов.  ласс есть шаблон, на основе которого может быть создан конкретный программный объект Ц экземпл€р. ќбъ€вление класса есть логическа€ абстракци€, определ€юща€ новый тип объекта, а определение объекта как экземпл€ра класса создает этот объект физически, т.е. размещает объект в пам€ти.

ѕрограммный продукт, созданный с помощью инструментальных средств объектно-ориентированного программировани€, содержит объекты с их характерными свойствами, дл€ которых разработан графический интерфейс пользовател€.  ак правило, работа с программным продуктом осуществл€етс€ с помощью экранной формы, с объектами управлени€, которые содержат методы обработки, вызываемые при наступлении определенных событий. Ёкранные формы также используютс€ дл€ выполнени€ заданий и перехода от одного компонента программного продукта к другому.  аждый объект управлени€ обладает определенными свойствами, значени€ которых могут измен€тьс€.

‘ормат записи дл€ работы с объектами следующий: »м€_ќбъекта.»м€_ћетода; или »м€_ќбъекта.»м€_—войства. ѕри этом вызов метода по сути аналогичен вызову процедуры, а работа со свойствами объектов практически не отличаетс€ от работы с переменными, однако отдельные свойства (например, им€ объекта) могут быть доступны только дл€ чтени€.

ќтметим, что мы уже познакомились с некоторыми возможност€ми ќќѕ в среде VBA. “ак, в рассмотренных ранее ѕримерах 2 и 3 с помощью свойства.Value текстового пол€ осуществл€лс€ и ввод, и вывод данных. ј в ѕримерах 4 и 5 использовалс€ метод.AddItem дл€ вывода текстовых строк в поле списка.

ќдин объект может выступать объединением вложенных в него по иерархии других объектов. » это может отражатьс€ в тексте программы перечислением вложенных объектов через точку. Ќапример, следующий фрагмент программы задаЄт цвет формы Ђбелыйї, а расположенной на ней кнопке Ц ЂчЄрныйї:

‘орма.÷вет = "белый"

‘орма. нопка.÷вет = "чЄрный"

 

—уществуют различные объектно-ориентированные технологии и методики проектировани€ программных продуктов, которые основываютс€ на следующих принципах ќќѕ Ц Ђкитахї:

Ј инкапсул€ци€ (встраивание, сокрытие);

Ј наследование (иерархи€, агрегаци€);

Ј полиморфизм (изменчивость).

»нкапсул€ци€ означает сочетание в одном объекте структур данных с методами их обработки, детальна€ реализаци€ которых остаетс€ скрытой от пользователей.

Ќаследование позвол€ет создавать на основе существующих классов новые Ц подклассы. ѕри построении подклассов осуществл€етс€ наследование данных и методов обработки объектов исходного родительского класса. ћеханизм наследовани€ позвол€ет переопределить или добавить новые данные и методы их обработки, создать иерархию классов.

ѕолиморфизм (от греч. Ђмноголикостьї) Ц способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же им€ метода может использоватьс€ дл€ различных классов объектов.

—уть объектной декомпозиции * состоит в выделении в предметной области классов и объектов, а также св€зей между ними, и лишь потом Ц данных и алгоритмов, которыми характеризуетс€ каждый класс. “аким образом, именно классы станов€тс€ основными Ђкирпичикамиї в ќќѕ, тогда как ранее таковыми блоками €вл€лись алгоритмы.

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

 омпонентное программирование * представл€ет собой развитие объектно-ориентированной технологии. ¬ отличие от ќќѕ введен следующий уровень абстракции, на котором классы объедин€ютс€ в компоненты.  омпонент Ц программный код в виде самосто€тельного модул€, который может быть использован в неизменном виде, обладает поведением (функциональностью) и может допускать настройку.

ќсновной принцип компонентного программировани€ Ц сборка приложени€ из готовых компонентов, в общем случае написанных на разных €зыках.  омпонентна€ программа Ц совокупность независимых компонентов, св€занных друг с другом посредством интерфейсов.

 

 

¬опросы и тестовые задани€ дл€ самоконтрол€

 

1. „то такое методологи€ программировани€?

2. „то такое технологии программировани€?

3. ѕон€тие Ђиерархи€ классовї присуще методологии ____________ программировани€.

1) объектно-ориентированного

2) структурного

3) динамического

4) эвристического

 

4. ќшибка Ђпропущено двоеточиеї при трансл€ции может быть вы€влена на этапе...

1) лексического анализа

2) филологического анализа

3) семантического анализа

4) синтаксического анализа

 

5. ѕрограмма Ц это

1) протокол взаимодействи€ компонентов компьютерной сети

2) набор команд операционной системы компьютера

3) алгоритм, записанный на €зыке программировани€

4) законченное минимальное смысловое выражение на €зыке программировани€ §

 

6.  акой подход в программировании называетс€ структурным?

1) подход, ориентированный на непосредственно выполн€емые компьютером операции

2) подход, неориентированный на непосредственно выполн€емые компьютером операции

3) подход, ориентированный на то, что отдельные группы операторов могут объедин€тьс€ во вспомогательные алгоритмы

4) подход, ориентированный на то, что логическа€ структура программы может быть выражена комбинацией 3-х базовых структур Ч следовани€, ветвлени€, цикла §

 

7. ћодульна€ структура программы отражает одну из особенностей ________ программировани€

1) эвристического

2) структурного §

3) логического

4) динамического

 

8. ѕри разработке модульных программ примен€ютс€ два метода проектировани€:

1) Ќисход€щее и восход€щее

2) ћодульное и структурное

3) ѕараллельное и последовательное

4) ћодульное и объектно-ориентированное

5) —труктурное и объектно-ориентированное

 

9..¬ чем заключаетс€ Ђнисход€щее проектированиеї программ?

1) вначале разрабатываетс€ головной модуль, затем остальные модули

2) вначале разрабатываютс€ модули самого низкого уровн€

3) на завершающем этапе проектировани€ разрабатываетс€ головной модуль

4) вначале решаетс€ подзадачи, затем глобальна€ задача

5) вначале разрабатываетс€ интерфейс программы, затем модули

 

10..ќбъектно-ориентированный подход к программированию использует следующие базовые пон€ти€

а) инструкции, б)данные, в) модель, г) объект, д) свойство, е) метод обработки, ж) событие, з) класс объектов

1) а, д,

2) д, е, ж, з

3) а, д

4) г, е, ж, з, д §

 

11.  ака€ технологи€ программировани€ по€вилась позже?

1) ќбъектно-ориентированна€

2) —труктурна€

3) ћодульна€

4) ѕроцедурна€

5) »ерархическа€

 

12. ќсновные технологии программировани€ Ц это:

1) модульное программирование, структурное программирование, объектно-ориентированное программирование.

2) модульное программирование, циклическое программирование, объектно-ориентированное программирование.

3) модульное программирование, структурное программирование, сетевое программирование.

4) модульное программирование, структурное программирование, параллельное программирование.

 

13. ѕодпрограммы бывают следующих типов?

1) процедуры и функции

2) рекурсивные и динамические

3) функции и модули

4) процедуры и циклы

5) структурированные и неструктурированные

 

вернутьс€ к содержанию

 

 





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-29; ћы поможем в написании ваших работ!; просмотров: 2116 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ќаука Ч это организованные знани€, мудрость Ч это организованна€ жизнь. © »ммануил  ант
==> читать все изречени€...

310 - | 280 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.028 с.