Слайд 2
![Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-1.jpg)
Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде
совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования
Слайд 3
![Литература](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-2.jpg)
Слайд 4
![История ООП возникло в результате развития идеологии процедурного программирования, где](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-3.jpg)
История
ООП возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы
(процедуры, функции) их обработки формально не связаны.
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент его появления в 1967 году в нём были предложены революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное.
При взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространённых библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.
Слайд 5
![Языки ООП C# C++ F# Java Delphi Swift Object Pascal](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-4.jpg)
Языки ООП
C#
C++
F#
Java
Delphi
Swift
Object Pascal
VB.NET
Visual DataFlex
Perl
PowerBuilder
Python
Scala
ActionScript (3.0)
JavaScript
JScript .NET
Ruby
Smalltalk
Ada
Xbase++
X++
Vala
PHP
Cyclone
Неполный список объектно-ориентированных языков программирования:
Слайд 6
![Смысл программы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-5.jpg)
Слайд 7
![Объектно-ориентированное программирование (ООП) ООП — это метод программирования, при использовании](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-6.jpg)
Объектно-ориентированное программирование (ООП)
ООП — это метод программирования, при использовании которого главными
элементами программ являются объекты.
В основе объектно-ориентированного подхода лежат три понятия:
инкапсуляция
наследование
полиморфизм
Вопросы
Слайд 8
![Объекты Будем называть объектом понятие, абстракцию или любой предмет с](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-7.jpg)
Объекты
Будем называть объектом понятие, абстракцию или любой предмет с четко
очерченными границами, имеющий смысл в контексте рассматриваемой прикладной проблемы.
Введение объектов преследует две цели:
понимание прикладной задачи (проблемы);
введение основы для реализации на компьютере.
Объект - это мыслимая или реальная сущность, обладающая характерным поведением и отличительными характеристиками и являющаяся важной в предметной области.
Каждый объект имеет состояние, обладает четко определенным поведением и уникальной идентичностью.
Слайд 9
![Состояние Состояние (state) - совокупный результат поведения объекта: одно из](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-8.jpg)
Состояние
Состояние (state) - совокупный результат поведения объекта: одно из стабильных условий,
в которых объект может существовать, охарактеризованных количественно; в любой момент времени состояние объекта включает в себя перечень (обычно статический) свойств объекта и текущие значения (обычно динамические) этих свойств.
Слайд 10
![Поведение В терминологии объектно-ориентированного подхода понятия "действие", "сообщение" и "метод"](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-9.jpg)
Поведение
В терминологии объектно-ориентированного подхода понятия "действие", "сообщение" и "метод" являются синонимами.
Т.е. выражения "выполнить действие над объектом", "вызвать метод объекта" и "послать сообщение объекту для выполнения какого-либо действия" эквивалентны.
Поведение (behavior) - действия и реакции объекта, выраженные в терминах передачи сообщений и изменения состояния; видимая извне и воспроизводимая активность объекта.
Слайд 11
![Уникальность Уникальность (identity) - свойство объекта; то, что отличает его](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-10.jpg)
Уникальность
Уникальность (identity) - свойство объекта; то, что отличает его от других
объектов.
В машинном представлении под параметром уникальности объекта чаще всего понимается адрес размещения объекта в памяти.
Слайд 12
![Объект В языках программирования понятие объекта реализовано как совокупность свойств](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-11.jpg)
Объект
В языках программирования понятие объекта реализовано как совокупность свойств (структур данных,
характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта.
Для объектов характерны понятия класса и подкласса.
Слайд 13
![Класс и подкласс Класс — обобщенное описание набора объектов, обладающих](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-12.jpg)
Класс и подкласс
Класс — обобщенное описание набора объектов, обладающих некоторыми одинаковыми
методами и структурами данных.
Подкласс — более подробное описание, относящееся к какому-либо специализированному подмножеству набора объектов, описанного классом. Иногда подклассы называют также производными или дочерними классами.
Слайд 14
![Инкапсуляция Объединение данных и свойственных им процедур обработки в одном](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-13.jpg)
Инкапсуляция
Объединение данных и свойственных им процедур обработки в одном объекте, называется
инкапсуляцией и является одним из важнейших принципов ООП.
Слайд 15
![Наследование Наследование предусматривает создание новых классов на базе существующих и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-14.jpg)
Наследование
Наследование предусматривает создание новых классов на базе существующих и позволяет классу
потомку иметь (наследовать) все свойства класса – родителя.
Слайд 16
![Полиморфизм Полиморфизм означает, что рожденные объекты обладают информацией о том,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-15.jpg)
Полиморфизм
Полиморфизм означает, что рожденные объекты обладают информацией о том, какие методы
они должны использовать в зависимости от того, в каком месте цепочки они находятся.
Слайд 17
![Объектно-ориентированный подход обладает преимуществами уменьшение сложности программного обеспечения; повышение надежности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-16.jpg)
Объектно-ориентированный подход обладает преимуществами
уменьшение сложности программного обеспечения;
повышение надежности программного
обеспечения;
обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов;
обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
Слайд 18
![Вопрос 1 Основой методологии объектно-ориентированного программирования является … описание программной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-17.jpg)
Вопрос 1
Основой методологии объектно-ориентированного программирования является …
описание программной системы в терминах
объектов и связей между ними
отказ от использования подпрограмм при реализации системы
описание системы в виде рекуррентных соотношений
вывод некоторого целевого утверждения
Слайд 19
![Ответ на вопрос 1 Основой методологии объектно-ориентированного программирования является …](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-18.jpg)
Ответ на вопрос 1
Основой методологии объектно-ориентированного программирования является …
описание программной системы
в терминах объектов и связей между ними
отказ от использования подпрограмм при реализации системы
описание системы в виде рекуррентных соотношений
вывод некоторого целевого утверждения
Слайд 20
![Вопрос 2 Программирование, в котором методика анализа, проектирования и написания](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-19.jpg)
Вопрос 2
Программирование, в котором методика анализа, проектирования и написания приложений с
помощью структуры классов, каждый из которых является целостным фрагментом кода и обладает свойствами и методами, называется …
модульным
формальным
структурным
объектно-ориентированным
Слайд 21
![Ответ на вопрос 2 Программирование, в котором методика анализа, проектирования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-20.jpg)
Ответ на вопрос 2
Программирование, в котором методика анализа, проектирования и написания
приложений с помощью структуры классов, каждый из которых является целостным фрагментом кода и обладает свойствами и методами, называется …
модульным
формальным
структурным
объектно-ориентированным
Слайд 22
![Вопрос 3 В объектно-ориентированном программировании каждый объект по отношению к](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-21.jpg)
Вопрос 3
В объектно-ориентированном программировании каждый объект по отношению к своему классу
является...
кодом
экземпляром
функцией
фрагментом
Слайд 23
![Ответ на вопрос 3 В объектно-ориентированном программировании каждый объект по](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-22.jpg)
Ответ на вопрос 3
В объектно-ориентированном программировании каждый объект по отношению к
своему классу является...
кодом
экземпляром
функцией
фрагментом
Слайд 24
![Вопрос 4 В объектно-ориентированном программировании полиморфизм характеризуется … возможностью задания](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-23.jpg)
Вопрос 4
В объектно-ориентированном программировании полиморфизм характеризуется …
возможностью задания в иерархии объектов
различных действий в методе с одним именем
способностью объекта наследовать свойства и методы класса родителя
посылкой сообщений объектам
сокрытием информации и комбинированием данных и методов внутри объекта
Слайд 25
![Ответ на вопрос 3 В объектно-ориентированном программировании полиморфизм характеризуется …](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-24.jpg)
Ответ на вопрос 3
В объектно-ориентированном программировании полиморфизм характеризуется …
возможностью задания в
иерархии объектов различных действий в методе с одним именем
способностью объекта наследовать свойства и методы класса родителя
посылкой сообщений объектам
сокрытием информации и комбинированием данных и методов внутри объекта
Слайд 26
![Вопрос 5 В объектно-ориентированном программировании сокрытие информации, комбинирование данных и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-25.jpg)
Вопрос 5
В объектно-ориентированном программировании сокрытие информации, комбинирование данных и методов внутри
объекта определяет понятие
наследования
иерархии
инкапсуляции
полиморфизма
Слайд 27
![Ответ на вопрос 5 В объектно-ориентированном программировании сокрытие информации, комбинирование](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-26.jpg)
Ответ на вопрос 5
В объектно-ориентированном программировании сокрытие информации, комбинирование данных и
методов внутри объекта определяет понятие
наследования
иерархии
инкапсуляции
полиморфизма
Слайд 28
![Вопрос 6 В объектно-ориентированном программировании в процессе реализации механизма наследования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-27.jpg)
Вопрос 6
В объектно-ориентированном программировании в процессе реализации механизма наследования возникает …
новый
метод в каждом классе
новое поле в каждом классе
инкапсуляция данных и методов
иерархия классов
Слайд 29
![Ответ на вопрос 6 В объектно-ориентированном программировании в процессе реализации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-28.jpg)
Ответ на вопрос 6
В объектно-ориентированном программировании в процессе реализации механизма наследования
возникает …
новый метод в каждом классе
новое поле в каждом классе
инкапсуляция данных и методов
иерархия классов
Слайд 30
![Вопрос 7 Принципом объектно-ориентированного программирования не является... инкапсуляция наследование полиморфизм использование функций](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/200349/slide-29.jpg)
Вопрос 7
Принципом объектно-ориентированного программирования не является...
инкапсуляция
наследование
полиморфизм
использование функций