Similar presentations:
История развития ООП. Базовые понятия ООП: объект, его свойства и методы, класс, интерфейс
1.
История развития ООП.Базовые понятия ООП: объект,
его свойства и методы, класс,
интерфейс.
1
2.
История развития ООП.2
3.
3Объектно-ориентированное программирование (сокр. ООП) — методология
программирования, основанная на представлении программы в виде
совокупности взаимодействующих объектов, каждый из которых является
экземпляром определённого класса, а классы образуют иерархию
наследования.
4.
4Основа ООП была заложена в начале 1960-х годов. Прорыв в использовании
экземпляров и объектов был достигнут в MIT с PDP-1, и первым языком
программирования для работы с объектами стал Simula 67. Он был разработан
Кристен Найгаард и Оле-Джохан Даль в Норвегии с целью создания симуляторов.
Они работали над симуляциями взрыва кораблей и поняли, что могут
сгруппировать корабли в различные категории. Каждому типу судна было решено
присвоить свой собственный класс, который должен содержать в себе набор
уникальных характеристик и данных. Таким образом, Simula не только ввела
понятие класса, но и представила рабочую модель.
5.
5Термин "объектно-ориентированное программирование" был впервые
использован Xerox PARC в языке программирования Smalltalk. Понятие ООП
использовалось для обозначения процесса использования объектов в качестве
основы для расчетов. Команда разработчиков была вдохновлена проектом Simula
67, но они спроектировали свой язык так, чтобы он был динамичным. В Smalltalk
объекты могут быть изменены, созданы или удалены, что отличает его от
статических систем, которые обычно используются. Этот язык программирования
также был первым, использовавшим концепцию наследования. Именно эта
особенность позволила Smalltalk превзойти как Simula 67, так и аналоговые
системы программирования.
6.
6Общие принципы модели стали применяться во многих современных языках
программирования. Некоторые из них — Fortran, BASIC, Pascal. На тот момент
многие программы не были разработаны с учетом ООП, что было причиной
возникновения некоторых проблем совместимости. “Чистые” объектноориентированные языки программирования не обладали многими функциями,
необходимыми программистам.
7.
7Идеологически, ООП — подход к программированию как к моделированию
информационных объектов, решающий на новом уровне основную задачу
структурного программирования: структурирование информации с точки зрения
управляемости, что существенно улучшает управляемость самим процессом
моделирования, что, в свою очередь, особенно важно при реализации крупных
проектов.
8.
8Основные принципы структурирования в случае ООП связаны с различными
аспектами базового понимания предметной задачи, которое требуется для
оптимального управления соответствующей моделью:
Абстракция;
Инкапсуляция;
Наследование;
Полиморфизм.
9.
Основные понятия9
10.
10Абстрагирование означает выделение значимой информации и исключение
из рассмотрения незначимой. В ООП рассматривают лишь абстракцию данных,
подразумевая набор наиболее значимых характеристик объекта, доступных
остальной программе.
11.
11Пример Абстрагирования
12.
12Инкапсуляция — свойство системы, позволяющее объединить данные и
методы, работающие с ними, в классе. Одни языки (например, C++, Java или
Ruby) отождествляют инкапсуляцию с сокрытием, но другие различают эти понятия.
13.
13Пример Инкапсуляции
14.
14Наследование — свойство системы, позволяющее описать новый класс на
основе уже существующего с частично или полностью заимствованной
функциональностью. Класс, от которого производится наследование, называется
базовым, родительским или суперклассом. Новый класс — потомком,
наследником, дочерним или производным классом.
15.
15Пример Наследования
16.
16Полиморфизм подтипов (в ООП называемый просто «полиморфизмом») —
свойство системы, позволяющее использовать объекты с одинаковым
интерфейсом без информации о типе и внутренней структуре объекта. Другой
вид полиморфизма — параметрический — в ООП называют обобщённым
программированием.
17.
17Класс — универсальный, комплексный тип данных, состоящий из тематически
единого набора «полей» и «методов», то есть он является моделью
информационной сущности с внутренним и внешним интерфейсами для
оперирования своим содержимым. В частности, в классах широко используются
специальные блоки из одного или чаще двух спаренных методов, отвечающих за
элементарные операции с определённым полем, которые имитируют
непосредственный доступ к полю.
18.
18Пример создания класса Person
19.
19Ключевые преимущества
Основным достоинством ООП является то, что данная концепция позволяет
значительно ускорить разработку новых программ и приложений, разделив
общий объем работы между несколькими независимыми программистами или
группами сотрудников. Код строится таким образом, что его отдельные
логические блоки работают изолированно друг от друга и не могут помешать
выполнению других функций.
20.
20Среди прочих аргументов в пользу использования объектно-ориентированного
программирования можно выделить такие:
Простота.
Высокая скорость разработки.
Удобство тестирования и обслуживания.
21.
21Задание
1 Вариант
Создать свой класс машины. Структура класса: название машины, пробег,
максимальная скорость, потребление топлива. Функции: Вывод информации о
машине, расчёт расхода бензина
2 Вариант
Создать свой класс студентов. Структура класса: ФИО студента, группа,
дисциплина, кол. пропусков, общее кол. часов. Функции: Вывод информации о
студенте, расчёт процентов посещаемости.
programming