ݺߣ

ݺߣShare a Scribd company logo
КОМП’ЮТЕРНІ
ПРОГРАМИ І МОВИ
ПРОГРАМУВАННЯ
8 клас. Заняття 1. Частина 2.
основи подійно- та об'єктно-орієнтованого
програмування
Пригадаємо
• Інтегроване середовище програмування – це система
програмування, що поєднує редактор для зручного введення і
редагування програми, транслятор і налагоджувач помилок.
основи подійно- та об'єктно-орієнтованого
програмування
Компілятор
Синтаксичний
контроль всього
тексту програми
Генератор
машинного
кодуВхідна
програма
Робоча
програма
Повідомлення
про помилки
Інтерпретатор
Покроковий синтаксичний контроль і
виконання тексту програмиВхідна
програма
Повідомлення
про помилки
Компілятор
транслює
(переводить)
програму в
машинний код
Інтерпретатор
безпосередньо
виконує написану
програму
Класифікація мов програмування
основи подійно- та об'єктно-орієнтованого
програмування
МОВИ
ПРОГРАМУВАННЯ
За орієнтацією на
клас задач
універсальні спеціалізовані
- мова розмітки
- мова скриптів
За принципами
програмування
- процедурні (імперативні)
- непроцедурні
- об’єктно-орієнтовані
За ступенем залежності від
апаратних засобів
- низького рівня
- високого рівня
- надвисокого рівня
ПАРАДИГМИ
ПРОГРАМУВАННЯ
Парадигма – набір теорій, стандартів і методів, які
спільно представляють собою спосіб бачення світу.
основи подійно- та об'єктно-орієнтованого
програмування
Парадигма програмування
• Парадигма програмування - це сукупність ідей і
понять, що визначають стиль написання
комп'ютерних програм (підхід до програмування).
основи подійно- та об'єктно-орієнтованого
програмування
Це спосіб концептуалізації, який
визначає, яким чином потрібно
проводити обчислення, та як має
бути структурована та
організована робота комп’ютера по
реалізації цих обчислень.
Ще раз про класифікацію МП
основи подійно- та об'єктно-орієнтованого
програмування
МОВИ ПРОГРАМУВАННЯ
ІМПЕРАТИВНІ
(алгоритмічні мови)
Процедурні МП
(Fortran, Pascal,
C, …)
Об’єктно-
орієнтовані МП
(C++, Delphi, …)
ДЕКЛАРАТИВНІ
(неалгоритмічні мови)
Мови логічного
програмування
(Prolog,
Mercury,…)
Мови
функціонального
програмування
(Lisp, Haskell, …)
Парадигми програмування
• Процедурне програмування. Програми містять код основної програми і
одну або більше процедур. Процедурами також названі: функції, процедури,
підпрограми. Процедури можуть бути викликані в будь-якому місці з основної
програми, а також і з інших процедур.
• Функціональне програмування. Програми написані за допомогою
використання коду математичних функцій. Значення функцій розглядаються як
окремі об'єкти, які не змінюються, а перетворюються в нові значення.
• Логічне програмування. Програми описуються виключно в термінах
математичної логіки. Основним поняття є відношення. Логічна програма являє
собою набір логічних декларацій, що описують проблему, яку необхідно вирішити.
• Об'єктно-орієнтоване програмування. Програма є сукупністю
взаємодіючих об'єктів, які мають поля даних і пов'язаних з ними процедур, відомих
як методи. Об'єкти, які є екземплярами класів, використовуються для взаємодії
один з одним для розробки додатків і комп'ютерних програм.
основи подійно- та об'єктно-орієнтованого
програмування
 Перша МП високо рівня –
Фортран в 1954-57 Дж.Бекусом,
для того щоб математики могли
програмувати на рівні формул.
 Перша ООП МП - Smalltalk
1969 (початок розробки) Аланом
Кеєм .
Еволюція мов програмування
основи подійно- та об'єктно-орієнтованого
програмування
Машинні коди Асемблер
Процедурне
програмування
Об’єктно-
орієнтоване
програмування
Аспектно-
орієнтоване
програмування
• Імперативні МП
o Об’єктно-орієнтовані МП
* Функціональні МП
^ Логічні МП
Більшість сучасних мов програмування
мультипарадигмальні
основи подійно- та об'єктно-орієнтованого
програмування
ОБ’ЄКТНО-ОРІЄНТОВАНЕ
ПРОГРАМУВАННЯ
Парадигма програмування, в якому основними
концепціями є поняття об’єктів і класів.
основи подійно- та об'єктно-орієнтованого
програмування
Алан Кертис Кей – батько ООП
• Будь-який елемент розв'язуваної задачі
(будинок, собака, послуга, хімічна
реакція, місто, космічний корабель, ...)
може являти собою об'єкт.
• Об'єкт як зберігає інформацію, так і
здатний її перетворювати.
• Об'єкт можна уявити собі як
швейцарський ніж: він є набором різних
ножів і «відмичок» (зберігання), але в той
же самий час їм ми можемо різати або
відкривати щось (перетворення).
основи подійно- та об'єктно-орієнтованого
програмування
Фундаментальні характеристики ООП (1993 рік):
Об’єктно-орієнтоване програмування
• Об’єктно-орієнтоване програмування (ООП) -
одна з парадигм програмування, яка розглядає
програму як множину «об’єктів», що взаємодіють між
собою:
• кожний об’єкт здатний отримувати повідомлення, обробляти
дані та надсилати повідомлення іншим об’єктам;
• кожен об’єкт - своєрідний незалежний автомат з окремим
призначенням та відповідальністю.
основи подійно- та об'єктно-орієнтованого
програмування
• Основу ООП складають три основні
концепції:
• інкапсуляція,
• наслідування або успадкування
• поліморфізм.
Інкапсуляція (приховуючи непотрібне)
• Інкапсуляцією (лат. en capsula) називається
упаковка даних і/або функцій в єдиний
компонент.
основи подійно- та об'єктно-орієнтованого
програмування
• Значення речей, які ви не хочете,
щоб інші люди/класи знали,
повинні бути приховані.
• Наприклад, вчителю не потрібно
знати, як учень готувався до уроку.
Він більше зацікавлений в
кінцевому результаті.
• Основна мета інкапсуляції – захист об'єктів від
несанкціонованого доступу до даних.
Інкапсуляція. Класи. Об’єкти.
• В результаті інкапсуляції (механізму об'єднання даних і процедур
по обробці цих даних) створюється «об'єкт».
основи подійно- та об'єктно-орієнтованого
програмування
• Об'єкт ― це конкретна
реалізація класу.
• Наприклад,
• клас – це те як кіт
влаштований;
• об'єкт – це кіт «Василь».
• Клас ― це множина об’єктів, що мають спільну
структуру і поведінку.
Класи. Об’єкти.
• Клас ― це програма або набір інструкцій для створення конкретного
типу об’єктів. Клас визначає як об'єкт буде вести себе і те, що
об'єкт буде містити.
• Об’єкт – це самодостатній компонент, який складається з методів і
властивостей, що роблять певний тип даних корисними. Об’єкт
визначає поведінку класу.
• Об'єкти складаються з атрибутів і методів. Атрибути є
характеристиками, які визначають об'єкт; значення, що містяться в
атрибутах диференціації об'єктів того ж класу один від одного.
• Атрибут – це характеристики, які визначають об'єкт; значення, що
містяться в атрибутах диференціюють об'єкти того ж класу один від
одного.
• Метод – це операції які об'єкт може виконувати; він визначає поведінку
об’єкту і як об'єкт може взаємодіяти із зовнішнім світом.
основи подійно- та об'єктно-орієнтованого
програмування
Класи. Об’єкти.
основи подійно- та об'єктно-орієнтованого
програмування
КЛАС
Класифікація
предметів за
спільними
структурою,
властивостями,
діями
БУДІВЛЯ СОБАКА КОМП’ЮТЕР
ОБ’ЄКТ
Конкретний предмет
(екземпляр), який
належить до якось з
класів Емпая Стейт Лессі Твій комп’ютер
СТРУКТУРА (клас) Кількість поверхів… 4 лапи і хвіст,… ЦП, ОП, …
ВЛАСТИВІСТЬ Адреса і години праці Власне ім’я Назва моделі
МЕТОД (ДІЇ) «Розумна будівля» Гавкає Power
Наслідування (моделювання схожості)
• Наслідування – це механізм, коли
один об'єкт набуває всі властивості і
поведінку батьківського об'єкта,
тобто успадковує.
основи подійно- та об'єктно-орієнтованого
програмування
• Наслідування забезпечує повторне використання коду.
• Наслідування використовується для досягнення виконання
поліморфізму.
• Клас-нащадок(дочірній) може додати власні методи і властивості, а
також користуватися батьківськими методами і властивостями.
• Наслідування дозволяє будувати ієрархію класів.
Поліморфізм (функція та сама, а
поведінка різна)
• Поліморфізм – (від гр. «Багато форм») коли
одна задача виконується різними способами.
основи подійно- та об'єктно-орієнтованого
програмування
Наприклад, всі тварини можуть
пересуватися, а деякі навіть видавати
звуки.
При такому описі будь якої тварини (риби,
ворони, коня, …) її інтерфейс (те, що
доступно при використанні класу зовні) містить
в собі методи пересування і видання
звуку.
Сила поліморфізму в тому, що різні випадки можна лікувати однаково.
Абстракція (усунути непотрібне,
підсилюючи основне)
• Абстракція полягає в тому, щоб
витягти основні відомості про
об'єкт чи групу предметів,
ігноруючи при цьому несуттєве
деталі. Тільки суттєва інформація
доступна користувачеві.
основи подійно- та об'єктно-орієнтованого
програмування
Власник кота Ветлікар
• З точки зору програмування, абстракція означає загальний доступ
іншим об'єктам тільки до тих даних, які мають відношення до них.
• Використовуючи абстракції можна моделювати об'єкти реального світу.
• Принцип абстракції полягає в тому, щоб зосередитися на головному і
відкинути недоречне.
Резюме
• Об'єкт є екземпляром класу.
• Інкапсуляція забезпечує безпеку зберігання даних і
методів від випадкових змін.
• Наслідування – це відносини батькодитина, які в
основному застосовуються для повторного
використання коду.
• Визначення поліморфізму полягає в тому, що poli
означає багато і morphos – форми.
• Абстракція забезпечує повторне використання коду.
• Абстракція робить програму відкритою для
модифікацій і доповнень.
основи подійно- та об'єктно-орієнтованого
програмування
В словник
основи подійно- та об'єктно-орієнтованого
програмування

More Related Content

комп’ютерні програми і мови програмування 2

  • 1. КОМП’ЮТЕРНІ ПРОГРАМИ І МОВИ ПРОГРАМУВАННЯ 8 клас. Заняття 1. Частина 2. основи подійно- та об'єктно-орієнтованого програмування
  • 2. Пригадаємо • Інтегроване середовище програмування – це система програмування, що поєднує редактор для зручного введення і редагування програми, транслятор і налагоджувач помилок. основи подійно- та об'єктно-орієнтованого програмування Компілятор Синтаксичний контроль всього тексту програми Генератор машинного кодуВхідна програма Робоча програма Повідомлення про помилки Інтерпретатор Покроковий синтаксичний контроль і виконання тексту програмиВхідна програма Повідомлення про помилки Компілятор транслює (переводить) програму в машинний код Інтерпретатор безпосередньо виконує написану програму
  • 3. Класифікація мов програмування основи подійно- та об'єктно-орієнтованого програмування МОВИ ПРОГРАМУВАННЯ За орієнтацією на клас задач універсальні спеціалізовані - мова розмітки - мова скриптів За принципами програмування - процедурні (імперативні) - непроцедурні - об’єктно-орієнтовані За ступенем залежності від апаратних засобів - низького рівня - високого рівня - надвисокого рівня
  • 4. ПАРАДИГМИ ПРОГРАМУВАННЯ Парадигма – набір теорій, стандартів і методів, які спільно представляють собою спосіб бачення світу. основи подійно- та об'єктно-орієнтованого програмування
  • 5. Парадигма програмування • Парадигма програмування - це сукупність ідей і понять, що визначають стиль написання комп'ютерних програм (підхід до програмування). основи подійно- та об'єктно-орієнтованого програмування Це спосіб концептуалізації, який визначає, яким чином потрібно проводити обчислення, та як має бути структурована та організована робота комп’ютера по реалізації цих обчислень.
  • 6. Ще раз про класифікацію МП основи подійно- та об'єктно-орієнтованого програмування МОВИ ПРОГРАМУВАННЯ ІМПЕРАТИВНІ (алгоритмічні мови) Процедурні МП (Fortran, Pascal, C, …) Об’єктно- орієнтовані МП (C++, Delphi, …) ДЕКЛАРАТИВНІ (неалгоритмічні мови) Мови логічного програмування (Prolog, Mercury,…) Мови функціонального програмування (Lisp, Haskell, …)
  • 7. Парадигми програмування • Процедурне програмування. Програми містять код основної програми і одну або більше процедур. Процедурами також названі: функції, процедури, підпрограми. Процедури можуть бути викликані в будь-якому місці з основної програми, а також і з інших процедур. • Функціональне програмування. Програми написані за допомогою використання коду математичних функцій. Значення функцій розглядаються як окремі об'єкти, які не змінюються, а перетворюються в нові значення. • Логічне програмування. Програми описуються виключно в термінах математичної логіки. Основним поняття є відношення. Логічна програма являє собою набір логічних декларацій, що описують проблему, яку необхідно вирішити. • Об'єктно-орієнтоване програмування. Програма є сукупністю взаємодіючих об'єктів, які мають поля даних і пов'язаних з ними процедур, відомих як методи. Об'єкти, які є екземплярами класів, використовуються для взаємодії один з одним для розробки додатків і комп'ютерних програм. основи подійно- та об'єктно-орієнтованого програмування
  • 8.  Перша МП високо рівня – Фортран в 1954-57 Дж.Бекусом, для того щоб математики могли програмувати на рівні формул.  Перша ООП МП - Smalltalk 1969 (початок розробки) Аланом Кеєм . Еволюція мов програмування основи подійно- та об'єктно-орієнтованого програмування Машинні коди Асемблер Процедурне програмування Об’єктно- орієнтоване програмування Аспектно- орієнтоване програмування • Імперативні МП o Об’єктно-орієнтовані МП * Функціональні МП ^ Логічні МП
  • 9. Більшість сучасних мов програмування мультипарадигмальні основи подійно- та об'єктно-орієнтованого програмування
  • 10. ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ Парадигма програмування, в якому основними концепціями є поняття об’єктів і класів. основи подійно- та об'єктно-орієнтованого програмування
  • 11. Алан Кертис Кей – батько ООП • Будь-який елемент розв'язуваної задачі (будинок, собака, послуга, хімічна реакція, місто, космічний корабель, ...) може являти собою об'єкт. • Об'єкт як зберігає інформацію, так і здатний її перетворювати. • Об'єкт можна уявити собі як швейцарський ніж: він є набором різних ножів і «відмичок» (зберігання), але в той же самий час їм ми можемо різати або відкривати щось (перетворення). основи подійно- та об'єктно-орієнтованого програмування Фундаментальні характеристики ООП (1993 рік):
  • 12. Об’єктно-орієнтоване програмування • Об’єктно-орієнтоване програмування (ООП) - одна з парадигм програмування, яка розглядає програму як множину «об’єктів», що взаємодіють між собою: • кожний об’єкт здатний отримувати повідомлення, обробляти дані та надсилати повідомлення іншим об’єктам; • кожен об’єкт - своєрідний незалежний автомат з окремим призначенням та відповідальністю. основи подійно- та об'єктно-орієнтованого програмування • Основу ООП складають три основні концепції: • інкапсуляція, • наслідування або успадкування • поліморфізм.
  • 13. Інкапсуляція (приховуючи непотрібне) • Інкапсуляцією (лат. en capsula) називається упаковка даних і/або функцій в єдиний компонент. основи подійно- та об'єктно-орієнтованого програмування • Значення речей, які ви не хочете, щоб інші люди/класи знали, повинні бути приховані. • Наприклад, вчителю не потрібно знати, як учень готувався до уроку. Він більше зацікавлений в кінцевому результаті. • Основна мета інкапсуляції – захист об'єктів від несанкціонованого доступу до даних.
  • 14. Інкапсуляція. Класи. Об’єкти. • В результаті інкапсуляції (механізму об'єднання даних і процедур по обробці цих даних) створюється «об'єкт». основи подійно- та об'єктно-орієнтованого програмування • Об'єкт ― це конкретна реалізація класу. • Наприклад, • клас – це те як кіт влаштований; • об'єкт – це кіт «Василь». • Клас ― це множина об’єктів, що мають спільну структуру і поведінку.
  • 15. Класи. Об’єкти. • Клас ― це програма або набір інструкцій для створення конкретного типу об’єктів. Клас визначає як об'єкт буде вести себе і те, що об'єкт буде містити. • Об’єкт – це самодостатній компонент, який складається з методів і властивостей, що роблять певний тип даних корисними. Об’єкт визначає поведінку класу. • Об'єкти складаються з атрибутів і методів. Атрибути є характеристиками, які визначають об'єкт; значення, що містяться в атрибутах диференціації об'єктів того ж класу один від одного. • Атрибут – це характеристики, які визначають об'єкт; значення, що містяться в атрибутах диференціюють об'єкти того ж класу один від одного. • Метод – це операції які об'єкт може виконувати; він визначає поведінку об’єкту і як об'єкт може взаємодіяти із зовнішнім світом. основи подійно- та об'єктно-орієнтованого програмування
  • 16. Класи. Об’єкти. основи подійно- та об'єктно-орієнтованого програмування КЛАС Класифікація предметів за спільними структурою, властивостями, діями БУДІВЛЯ СОБАКА КОМП’ЮТЕР ОБ’ЄКТ Конкретний предмет (екземпляр), який належить до якось з класів Емпая Стейт Лессі Твій комп’ютер СТРУКТУРА (клас) Кількість поверхів… 4 лапи і хвіст,… ЦП, ОП, … ВЛАСТИВІСТЬ Адреса і години праці Власне ім’я Назва моделі МЕТОД (ДІЇ) «Розумна будівля» Гавкає Power
  • 17. Наслідування (моделювання схожості) • Наслідування – це механізм, коли один об'єкт набуває всі властивості і поведінку батьківського об'єкта, тобто успадковує. основи подійно- та об'єктно-орієнтованого програмування • Наслідування забезпечує повторне використання коду. • Наслідування використовується для досягнення виконання поліморфізму. • Клас-нащадок(дочірній) може додати власні методи і властивості, а також користуватися батьківськими методами і властивостями. • Наслідування дозволяє будувати ієрархію класів.
  • 18. Поліморфізм (функція та сама, а поведінка різна) • Поліморфізм – (від гр. «Багато форм») коли одна задача виконується різними способами. основи подійно- та об'єктно-орієнтованого програмування Наприклад, всі тварини можуть пересуватися, а деякі навіть видавати звуки. При такому описі будь якої тварини (риби, ворони, коня, …) її інтерфейс (те, що доступно при використанні класу зовні) містить в собі методи пересування і видання звуку. Сила поліморфізму в тому, що різні випадки можна лікувати однаково.
  • 19. Абстракція (усунути непотрібне, підсилюючи основне) • Абстракція полягає в тому, щоб витягти основні відомості про об'єкт чи групу предметів, ігноруючи при цьому несуттєве деталі. Тільки суттєва інформація доступна користувачеві. основи подійно- та об'єктно-орієнтованого програмування Власник кота Ветлікар • З точки зору програмування, абстракція означає загальний доступ іншим об'єктам тільки до тих даних, які мають відношення до них. • Використовуючи абстракції можна моделювати об'єкти реального світу. • Принцип абстракції полягає в тому, щоб зосередитися на головному і відкинути недоречне.
  • 20. Резюме • Об'єкт є екземпляром класу. • Інкапсуляція забезпечує безпеку зберігання даних і методів від випадкових змін. • Наслідування – це відносини батькодитина, які в основному застосовуються для повторного використання коду. • Визначення поліморфізму полягає в тому, що poli означає багато і morphos – форми. • Абстракція забезпечує повторне використання коду. • Абстракція робить програму відкритою для модифікацій і доповнень. основи подійно- та об'єктно-орієнтованого програмування
  • 21. В словник основи подійно- та об'єктно-орієнтованого програмування