- •Що таке ООП?
- •Объектно-ориентированное программирование, 11 класс
- •Объектно-ориентированное программирование, 11 класс
- •Объектно-ориентированное программирование, 11 класс
- •Объекты и классы
- •Объектно-ориентированное программирование, 11 класс
- •Объектно-ориентированное программирование, 11 класс
- •Объектно-ориентированное программирование, 11 класс
- •Объектно-ориентированное программирование, 11 класс
- •Створення об'єктів в програмі
- •Объектно-ориентированное программирование, 11 класс
- •Приховання внутрішнього устрою
- •Ієрархія класів
Об'єктно- орієнтоване програмування Мови C++ и C#
1.Що таке ООП?
2.Об'єкти і класи
3.Створення об'єктів в програмі
4.Приховання внутрішнього устрою
5.Ієрархія класів
1
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Що таке ООП?
2
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
Навіщо потрібне щось нове? |
3 |
|
! Головна проблема - складність!
•програми з мільйонів рядків
•тисячі змінних і масивів
Э. Дейкстра: «Людство ще в старовині придумало спосіб управління складними системами: «розділяй і володарюй»».
Структурне програмування :
|
задач |
|
декомпозиція по |
|
а |
|
завданнях |
|
|
|
|
подзадача |
подзадача |
подзадача |
|
1 |
2 |
3 |
людина мислить |
|
|
|
|
подзадача |
подзадача |
подзадача |
інакше, об'єктами |
2.1 |
2.2 |
2.3 |
|
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
Як ми сприймаємо об'єкти? |
4 |
|
істотні
властивості
Абстракція – це виділення істотних властивостей об'єкту, що відрізняють його від інших об'єктів.
! Різні цілі – різні моделі!
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
Використання об'єктів |
5 |
|
Програма – безліч об'єктів (моделей), кожен з яких володіє своїми властивостями і поведінкою, але його внутрішній устрій прихований від інших об'єктів.
!Потрібно «розділити» завдання на об'єкти!
А
|
Б |
В1 |
В |
Б1 |
Б2 |
В2 |
|
|
Б3 |
|
В3 |
|
|
Г |
|
|
Г1 |
Г2 |
декомпозиція |
|
|
|
по об'єктах
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объекты и классы
6
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
З чого почати? |
7 |
|
Об'єктно-орієнтований аналіз (ООА):
•виділити об'єкти
•визначити їх істотні властивості
•описати поведінку (команди, які вони можуть
виконувати) |
? Що таке об'єкт? |
|
Об'єктом можна назвати те, що має чіткі кордони і володіє станом і поведінкою.
Стан визначає поведінку :
•лежача людина не стрибне
•незаряджена рушниця не вистрілить
Клас - це безліч об'єктів, що мають загальну структуру і загальну поведінку.
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
8
Модель дороги з автомобілями
Об'єкт «Дорога»:
властивості
(стан)
ширина
(число смуг)
довжина назва
класу
Дорога
довжина
ширина
методи
(поведінка)
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
Модель дороги з автомобілями |
9 |
|
Об'єкт «Машина»:
властивості: координати і швидкість
|
P |
V |
|
|
|
|
X |
Машина |
• |
всі машини однакові |
|
• |
швидкість постійна |
X (координата) |
• |
на кожній смузі - одна машина |
P (смуга) |
• |
якщо машина виходить за правий |
V (швидкість) |
|
кордон дороги, замість неї зліва |
рухатися |
|
з'являється нова машина |
|
|
|
Метод - це процедура або функція, що належить класу об'єктів.
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Объектно-ориентированное программирование, 11 класс
Модель дороги з автомобілями |
10 |
||
|
|||
Взаємодія об'єктів : |
|
|
|
Дорога |
взнати довжину |
Машина |
|
довжина |
X (координата) |
|
|
ширина |
|
P (смуга) |
|
|
|
V (швидкість) |
|
рухатися
Схема визначає
•властивості об'єктів
•методи: операції, які вони можуть виконувати
•зв'язки (обмін даними) між об'єктами
!Ні слова про внутрішній устрій об'єктів!
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |
Створення об'єктів в програмі
11
К.Ю. Поляков, Е.А. Ерёмин, 2013 |
http://kpolyakov.spb.ru |