362.02K
Category: programmingprogramming

История развития ООП. Базовые понятия ООП: объект, его свойства и методы, класс, интерфейс

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 Вариант
Создать свой класс студентов. Структура класса: ФИО студента, группа,
дисциплина, кол. пропусков, общее кол. часов. Функции: Вывод информации о
студенте, расчёт процентов посещаемости.
English     Русский Rules