Презентация предназначена для ознакомления студентов с основными понятиями объектно-ориентированного программирования. Рассматриваются понятия класс, объект класса, инкапсуляция.
5. В процедурном программировании задача
разбивается на более мелкие подзадачи и
оформляется в виде функций.
Любая функция может быть вызвана по
имени из любой точки программы,
включая другие функции или её же саму
(т.н. рекурсивный вызов).
Любая функция может быть вызвана
сколько угодно раз.
6. Имея библиотеку функций, можно
составить конечный продукт –
программу, всего лишь вызывая
нужные функций.
При этом программисту важен
интерфейс функций (имя и сигнатура) и
он абстрагируется от их реализации.
7. // … реализация всех функций
void main() {
SetWindOptions(); // настройки окна
Greeting(); // приветствие
Menu(); // показ главного меню
GameLevel(); // уровень игры
SaveState(); // запись игрового прогресса в файл
Shutdown(); // завершение работы программы
}
8. При таком подходе получаем
существенные преимущества:
Проект разделяется на логические части –
упрощается чтение и отладка кода
Возможность сопровождение проекта через
длительное время
Возможность разделять проект на несколько
файлов
Сокращается размер кода
Функции могут принимать параметры
Над проектом одновременно могут работать
несколько человек
9. НО!!!
Процедурное программирование –
подход, при котором функции и
переменные, относящиеся к какому-то
конкретному объекту свободно
располагаются в коде и никак между
собой не связаны
10. В вашем исходнике может оказаться
несколько функции, отвечающих за
генерацию или вывод карты на экран.
И никто, кроме их создателя, понятия
не имеет (без пристальной вычитки
кода), с какими именно объектами
работает та или иная функция.
12. Предметная область разбивается на
сущности (объекты реального мира).
Описание окружающего мира
осуществляется в терминах ОБЪЕКТОВ
над которыми производятся действия
(объект – центр концепции ООП).
16. Характеристики объекта - называются
свойствами или полями объекта.
Что этот объект собой представляет?
Что мы о нём знаем?
Каковы его характеристики?
17. Действия, которые можно выполнить с
данным объектом - называются
методами объекта.
Что этот объект умеет делать?
Какие действия можно совершать над
объектом?
18. Тип объекта: Маркер
Поля:
- Модель: Friday
- Цвет колпачка: синий
- Длина корпуса: 138 мм
Методы:
- Чесаться
- Ковыряться
- Метко бросать
- Писать по доске
19. Снаружи объект принято рассматривать
как чёрный ящик (прибор с кнопками).
Известно, что будет, если нажимать на кнопки
(есть инструкция).
Неизвестно, как всё устроено внутри и почему оно
работает (да и не нужно знать, почему).
20. ООП основано на объектной
декомпозиции, т.е. выделения
сущностей предметной области и
оформление их в виде экземпляров
классов
21. Класс – это общее описание состояния
и поведения некоторой сущности, а
также правил по взаимодействию с ней.
Класс – это пользовательский тип
данных
22. Объект (экземпляр класса) – это
отдельный представитель класса,
имеющий своё конкретное состояние,
и поведение, полностью
определяемое классом
23. Поле – это переменная, связанная с
классом или объектом. Состояние
объекта хранится в его полях. Тип
данных поля задаётся при описании
класса.
24. Метод – это функция или процедура,
принадлежащая классу или объекту.