Похожие презентации:
Объектно-ориентированное программирование на C++
1.
Объектно-ориентированноепрограммирование на C++
2.
Причины возникновенияобъектно-ориентированного
программирования
3.
С ростом объема кода программыстановится невозможным
удерживать в памяти все детали
4.
Необходимо структурироватьинформацию, выделять главное и
отбрасывать несущественное
5.
Этот процесс называетсяповышением степени абстракции
программы
6.
Первым шагом к повышениюабстракции является
использование функций
7.
Это позволяет отвлечься отдеталей ее реализации, поскольку
для вызова функции требуется
знать только ее интерфейс
8.
Следующий шаг — описаниесобственных типов данных,
позволяющих структурировать и
группировать информацию
9.
Процедурное программирование –подход, при котором функции и
переменные, относящиеся к какому-то
конкретному объекту свободно
располагаются в коде и никак между
собой не связаны
10.
Объектно-ориентированноепрограммирование –
подход, при котором функции и
переменные, относящиеся к
конкретному объекту объединены в
коде определенным образом и тесно
связаны между собой
11.
В мире ООП всё состоит изобъектов
12.
Программа представляет собойнабор объектов, имеющих
состояние и поведение
13.
Концепция «черного ящика»является одной из базовых
концепций ООП
14.
Снаружи объект приняторассматривать как «черный ящик»,
т.е. некий прибор с кнопками
15.
Благодаря тому, что программапредставляется в терминах
поведения объектов, при
программировании используются
понятия, более близкие к
предметной области
16.
Следовательно, программа легчечитается и понимается
17.
ООП – это стиль программирования,который фиксирует поведение
реального мира так, что детали
разработки скрыты
18.
Это позволяет программистумыслить в терминах предметной
области, а не в терминах
программирования
19.
Основные понятия ООП• Инкапсуляция
• Наследование
• Полифорфизм
20.
Инкапсуляция –это объединение полей и методов
объекта в единое целое - класс
21.
Важнейшее требованиеинкапсуляции - скрытие состояния
объекта от внешнего мира
22.
Инкапсуляция повышает степеньабстракции программы: данные
класса и реализация методов класса
находятся ниже уровня абстракции,
и для написания программы
информация о них не требуется
23.
Инкапсуляция позволяет изменитьреализацию класса без модификации
основной части программы, если
интерфейс остался прежним
24.
Наследование –это механизм, который позволяет
расширять существующие классы,
сохраняя их функциональность и
добавляя им новые свойства и методы
25.
Полиморфизм –это возможность использовать в
различных классах иерархии одно
название для обозначения сходных
по смыслу действий и гибко
выбирать требуемое действие во
время выполнения программы
26.
Главный принцип полиморфизма –один интерфейс и множество
реализаций
27.
Класс - общее абстрактноеописание некоторой сущности
28.
Синтаксис объявления классаclass имя_класса
{
[private | protected | public]:
тип_поля1 имя_поля1;
тип_поля2 имя_поля2;
тип_поля3 имя_поля3;
...
тип1 имя_метода1(список_параметров)
{
...
}
тип2 имя_метода2(список_параметров)
{
...
}
...
} [список_переменных];
29.
Способы доступа ккомпонентам класса
• Открытый (public)
• Защищенный (protected)
• Закрытый (private)
30.
Пример объявления класса31.
Объект как экземпляр класса –это некоторая уникальная единица,
имеющая свои переменные (поля)
и функции (методы), эти
переменные обрабатывающие
32.
Поля объекта - это переменные,описывающие его состояние, а
методы - это способ перевести
объект из одного состояния в другое
33.
Пример создания объектакласса
34.
Методы-аксессоры• Инспекторы позволяют
получить значения полей
• Модификаторы позволяют
установить значения полей
35.
Методы-аксессоры36.
Конструктор это специальный метод класса,который вызывается для
конструирования объекта в момент
его создания
37.
Конструктор не возвращаетзначение, даже типа void
38.
Класс может иметь несколькоконструкторов с разными
параметрами для разных видов
инициализации
39.
Конструктор, вызываемый безпараметров, называется
конструктором по умолчанию
40.
Параметры конструктора могутиметь любой тип, кроме этого же
класса
41.
Если программист не указал ниодного конструктора, компилятор
создаст его автоматически
42.
Деструктор –это специальный метод класса,
который вызывается при
уничтожении объекта
43.
Деструктор не принимаетникаких параметров и не
возвращает значений
44.
Класс может иметь только одиндеструктор
45.
Если деструктор явным образомне определен, компилятор
автоматически создает пустой
деструктор