Слайд 1Основы ООП
Основы алгоритмики, занятие №2
Слайд 2Объектный подход
Объектно-ориентированный подход (ООП) — подход, при котором предметная область представлена
совокупностью объектов, взаимодействующих между собой с помощью сообщений
Предметная область — множество всех предметов, свойства которых и отношения между которыми рассматриваются в данной задаче
Объект — описание некоторой сущности из предметной области через набор атрибутов (полей).
Объект описывается классом. Классы образуют иерархию наследования
Слайд 3Свойства объекта
Состояние — конкретные значения полей объекта в данный момент времени
Поведение
— правила, по которым меняются состояния
Идентичность — свойство объекта, отличающее его от всех других объектов
Транзактность — способность объекта существовать только в допустимых состояниях в любой момент жизненного цикла
Слайд 4Объектная модель
Основные принципы
Абстракция
Инкапсуляция
Модульность
Иерархия
Дополнительные принципы
Типизация
Параллелизм
Устойчивость
Слайд 9Параллелизм, типизация, устойчивость
Слайд 10Принципы объектно-ориентированного программирования
Абстракция — фокусировка на существенных с точки зрения наблюдателя
характеристиках объекта
Инкапсуляция — упаковка данных и функций, относящихся к одному объекту, в единый компонент
Наследование — один класс может наследовать данные и функциональность другого класса
Полиморфизм — способность обрабатывать данные разных типов (классов)
Слайд 11Абстракция
Для описания сущности «человек» были использованы параметры:
Имя
Пол
Возраст
Длина
Вес
Был определен метод «Скажи привет»
Слайд 12Инкапсуляция
Поля с данными о человеке скрыты модификатором доступа private, для доступа
к данным был определен интерфейс в виде get и set методов
Слайд 13Наследование
На основе класса «Человек» был создан класс «Студент»
Слайд 14Полиморфизм
Для разных фигур периметр ищется по разным формулам, но имена функций
одинаковые. Это пример ad hoc полиморфизма