Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемpmvt.ru
1 Введение в объектно- ориентированное программирование
2 Дидактические единицы: программное обеспечение и технология программирования Начиная с самого первого мнемокода, все средства разработки программ изобретались с единственной целью: чтобы ПРОЩЕ было думать. Объектно- ориентированное программирование (ООП) является одним из способов достижения этой цели. Почему проще думать в ООП?
3 Дидактические единицы: Программа, решающая некоторую задачу, заключает в себе описание части мира, относящегося к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме иерархии подпрограмм. Предпосылки возникновения ООП: модульное программирование, абстрактные типы данных, ситуационное моделирование, фреймы. Первый алгоЯзык, где были классы и объекты, -Simula-67. Окончательно принцип ООП оформились в языке Smalltalk- 80. Среди современных систем программирования, в основу которых положены принципы ООП, можно назвать Delphi? Visual C, Visual Basic.
4 Тип.Объекты Объект представляет собой единственно состояния и методов. Программируя объект, его состояние можно хранить в наборе переменных, а методы реализовать в форме процедур и функций. В Паскале объект – это особый тип данных, а экземпляры объекта – переменные этого типа. Состояние характеризуется значениями полей объекта. Методами объекта являются ассоциированные с ним функции и процедуры, которым доступны поля. Передача сообщений объекту происходит в виде вызовов его методов с заданными параметрами. Тип объекта можно рассмотреть как усовершенствование типа запись; только поля (описывающие свойства) дополняются методами (описаниями действиями с объектом). В описании объектного типа дают только заголовки соответствующих блоков, а сами блоки приводят ниже. За счёт методов описания сущности как бы «оживают». В ООП оперируют цельными представлениями сущностей.
5 Описание типа «объект» выглядит следующим образом: Object {описание свойств} ; {описание методов} Procedure [ ]; end;
6 Основные понятия ООП. Инкапсуляция-объединение информационных полей и методов, которые выполняют над ними действия.
7 Инкапсуляция Блоки-методы размещаются в произвольном порядке. Совпадение их имён, если методы принадлежат разным типам, не запрещено, следовательно, в заголовках методов их имена снабжаются префиксом – именем типа. Например: pozicia.init, krug.init.
8 Инкапсуляция Обращение к методу нужно начинать с префикса – имени действующего объекта. Например: P.Locate (параметры). В обоих случаях разделителем служит(.). Допустимо обращение с полями объекта как с полями записи: P.z, P.y, но нежелательно. Объекты не запрещается использовать в блоках, не являющимися методами. Но такое применение должно быть исключением, так как противоречит идее объекте.
9 Инкапсуляция Доступ к полям объектов можно принудительно ограничивать. Чтобы поля были доступны лишь методам данного модуля, в объектном типе до описания группы полей записать «Private», а после неё – «Public». Это делают, чтобы предупредить ошибочные действия с объектными данными пользователя библиотеки объектов.
10 Наследование Наследование – позволяет создавать новые объекты, изменяя или дополняя свойства престиж. Такие простые программы, как рассмотренный выше пример, мало значимы, но они позволяют избежать дублирования элементов описания, их называют родительскими.
11 Родительские программы Родительские (предки) – тип объектов, которые используются как носители общих свойст и методов для семейства типов – потомков, позволяя избежать дублирования элементов описания. Объект может не использоваться самостоятельно, а служить основной для начинающегося с него дерева объектов. Такие объекты называются абстрактными. Они объединяют в себе некоторые общие для всех своих потомков поля и методы.
12 Абстрактные методы Абстрактные методы – методы, которые не содержат исполняемых операторов и служат заготовками для аналогичных методов в объектах- потомках. Абстрактные методы должны перекрываться в потомках.
13 Правила наследования. 1 Объект-наследник (потомок) получает все поля и методы предка. 2 Потомок может (хотя и не обязательно) добавить: собственные поля, методы или перекрыть своими методами одноимённые унаследованные методы. 3 Любой тип-потомок может быть родительским для других типов. В этом случае типы наследует поля всех своих предков. 4 Доступ к полям и методам родительских типов в описании любых типов-потомков выполняется так, как будто они описаны в самом и типе-потомке. 5 Ни в одном из типов-потомков не должны использоваться имена полей и формальных параметров, совпадающих с указанными в типах-предках. Идентификаторы методов могут совпадать. 6 Имена метров в родительских типах-потомках могух совпадать. В этом случае метод дочернего типа «перекрывает» метод родительского. При этом обращение к родительскому методу остаётся возможным с помощью префикса – имени родителя (Position.Init, если у Position есть потомок, у которого также имеется метод Init). Замечание. Значения полей не наследуется. Наследование – это отношение объектных типов, а не объектов. 1 Объект-наследник (потомок) получает все поля и методы предка. 2 Потомок может (хотя и не обязательно) добавить: собственные поля, методы или перекрыть своими методами одноимённые унаследованные методы. 3 Любой тип-потомок может быть родительским для других типов. В этом случае типы наследует поля всех своих предков. 4 Доступ к полям и методам родительских типов в описании любых типов-потомков выполняется так, как будто они описаны в самом и типе-потомке. 5 Ни в одном из типов-потомков не должны использоваться имена полей и формальных параметров, совпадающих с указанными в типах-предках. Идентификаторы методов могут совпадать. 6 Имена метров в родительских типах-потомках могух совпадать. В этом случае метод дочернего типа «перекрывает» метод родительского. При этом обращение к родительскому методу остаётся возможным с помощью префикса – имени родителя (Position.Init, если у Position есть потомок, у которого также имеется метод Init). Замечание. Значения полей не наследуется. Наследование – это отношение объектных типов, а не объектов.
14 Полиморфизм Полиморфизм или «многообразие» - выражается в том, что под одним и тем же именем скрываются различные действия, содержание которых зависит от типа объекта. Полиморфизм предполагает определение класса или нескольких классов методов для родственных объектных типов так, что каждому классу отводится своя функциональная роль.
15 ……. полиморфизм Например, метод «отобразить геометрическую фигуру на экране», на самом деле не метод, а класс, т.к. характер фигуры определяет конкретный способ отображения (конкретных метод). Методы одного класса обычно наделяются общим именем. Например, Show, Init.
16 ……. полиморфизм Проведем аналогию с процедурными типами. Сложному стандартному блоку (например, вычисляющему интеграл) передают тот или иной подчиненный блок (подынтегральную функцию). Без процедурного типа пришлось бы запасать копии стандартного блока, различающиеся в местах вызова подчиненного блока. При работе с объектом может возникнуть сходная ситуация: сложный метод приходится давать заново для каждого типа объекта, хотя различия в поведении объектов могут быть небольшими. Изменяя алгоритм того или иного метода в потомках объекта, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющих разную алгоритмическую основу, а следовательно, придающие объектам разные свойства. Это свойство и называется полиморфизмом объектов. В Паскале полиморфизм достигает также виртуализацией методов, позволяющей родительским методом обращаться к методам потомков.
17 ВОПРОСЫ : 1.С какой целью создавались средства разработки программ ? (слайд 2) 2.Что такое дидактические единицы? (слайд 3) 3.Что собой представляет тип объекта? (слайд 4) 4. Что представляет собой Инкапсуляция? (слайд 6 ). 5. Что такое наследование? (слайд 10 ) 6. Чем являются Родительские программы? (слайд 11) 7. Какие не содержат исполняемых операторов и служат заготовками для аналогичных методов в объектах-потомках? (слайд 12) 8. Что собой представляют основные методы наследования? (слайд 13) 9. Что предполагает в себе Многообразие? (слайд 14) 11. Как обычно наделяются Методы одного класса ? (слайд 15) 12. Как выглядит описание объекта? (слайд 5) 13. Как размещаются Блоки-Методы? (слайд 7) 14. Какой тип объекта называют Родительским? (слайд 11) 15. В каком языке Окончательно оформились принципы ООП? (слайд 3)
18 Выполнил Писарев Олег Э-108 =)))) The End !
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.