Інформація про новину
  • Переглядів: 523
  • Дата: 15-10-2021, 10:32
15-10-2021, 10:32

9.4. Поняття об'єкта, властивості, події та обробники подій. Проект і його структура

Категорія: Інформатика





Попередня сторінка:  9.3. Середовище програмування Python
Наступна сторінка:   10.1. Дані, змінні, константи. Прості тип...

Пригадайте, що таке об'єкт.

Об'єкт в об'єктно-орієнтовоному програмуванні — це предмет, поняття, явище, які подані у цифровій формі і належать до певного класу, а також характеризуються своїми властивостями і поведінкою.

Приклад 1. Учень — це абстрактне поняття, яке може бути класом, а учень Сидоренко Іван або учениця Іваненко Катерина — конкретне поняття, тобто є об’єктом.

Властивості об’єкта визначаються його атрибутами, які називають полями даних, а його поведінка — функціями їх опрацювання — методами.

Під час виконання програми об’єкти зазвичай зберігаються в оперативній пам’яті. Всі методи опрацювання об’єктів зберігаються поза межами об’єктів. Отже, об’єкти групуються в однотипні класи. Клас — це абстрактне поняття, а об’єкт — конкретне (приклад 1).

Кожний об’єкт має ім’я, яке записується як звичайний ідентифікатор, наприклад obj, man. Кожна властивість об’єкта має певне значення (приклад 2).

Приклад 2. Властивість автомобіля color може мати такі значення: чорний, білий, червоний; властивість номер класу об’єкта учень Сидоренко Іван може мати значення 1, 2 та ін.

Подія в програмуванні — це спосіб взаємодії між об'єктами. Кожна подія розпізнається комп'ютером і опрацьовується відповідним обробником подій.

Приклад 3. Після натискання у банкоматі кнопки Баланс викликається відповідний обробник подій, у результаті чого на екрані можна отримати власний баланс.

Події можуть бути згенеровані системою, наприклад у разі ділення на нуль, а також користувачем або іншими способами (приклад 3)

У мові Python є значна кількість вбудованих об’єктів відповідних класів, які не потрібно створювати програмісту самому, а лише слід правильно використовувати. Так, об’єктами є цілі числа, які належать класу int, дійсні числа (клас float), рядки (клас str), списки, кортежі та інші. Самі класи теж є об’єктами.

Програміст у мові Python може не тільки використовувати вбудовані об’єкти, а й створювати об’єкти. У такому разі на початку програмного коду створюється клас.

Найпростіша структура створення класа:

Наприклад,

У тілі класу зазначаються методи, які опрацьовуватимуть дані програмного коду.

Загальна структура створення об’єктів:

Наприклад, Audi = Саг(). Як бачимо, тут параметри оголошення об’єкта не обов’язкові. Методи оголошуються як звичайні функції за допомогою інструкції def.

Об'єктами у мові Python є також такі графічні елементи, як кнопки (клас Button), перемикачі (клас Radiobutton), прапорці (клас Checkbutton) та інші, які в деяких мовах програмування, наприклад у мові Delphi, називають компонентами.

Структура оголошення методу:

До одного методу можна звертатися з багатьох об’єктів класу. Під час звернення до методу в параметр self автоматично передається ім’я об’єкта, із якого здійснюється звернення до цього методу, а в інші параметри передаються значення відповідних аргументів.

Отже, поведінка об'єкта визначається можливостями методу, до якого здійснюється звернення із певного об'єкта.

Приклад 4. На рис. 9.8 наведено код обчислення площі й периметра прямокутного

трикутника за значенням його катетів. У коді створюється клас, два об’єкти і два методи.

У коді обчислення площі трикутника здійснюється за допомогою методу fund, а його периметра — за допомогою методу func2. Обидва методи мають параметри self, а1 і а2.

У процесі звернення до методу fund із об’єкта obj 1 параметру self передається

ідентифікатор об’єкта objl, параметру а1 передається значення аргументу а, параметру а2 — значення аргументу Ь. Обчислене значення площі трикутника присвоюється змінній surface, яке за допомогою оператора print виводиться на екран.

Звернення до методу func2 здійснюється із команди ргіп1:('Периметр =', obj2.func2(a, b)). Параметру self цього методу передається ідентифікатор об’єкта obj2, а параметрам а1 і а2 — ті самі значення катетів а і Ь, що й у процесі звернення до методу fund.

Для обчислення периметра необхідно використовувати функцію кореня квадратного (sqrt), яка міститься у модулі math. Щоб скористатися цією функцією модуль math імпортується в програму за допомогою команди import math.

Обчислене значення периметра у методі func2 за допомогою команди return(perimeter) повертається в команду, що викликала цей метод, тобто у команду print, і виводиться на екран.

У коді введення значення катета а здійснюється за допомогою команди а = float(input('Ka-тет = ')). У команді використовується оператор

input. Цей оператор призупиняє виконання коду й очікує введення з клавіатури необхідного значення.

Після введення значення слід натиснути клавішу Enter, у результаті уведене значення буде присвоєно змінній а і виконання коду буде продовжено. Аналогічно здійснюється уведення значення катета Ь.

Усі дані, що вводяться з клавіатури, сприймаються як рядковий тип (тип str). Навіть у випадку, якщо буде введено ціле число, в дійсності воно матиме тип str. Для перетворення його у дійсний тип у команді використано функцію float.

Результат виконання програми:

Катерина Логвинівна Ющенко — засновниця української школи програмування, авторка однієї з перших у світі мов програмування високого рівня, член-ко-респондентка НАН України.

Програма мовою Python, її називають проектом, складається з модулів. Модуль — це будь-який файл із програмним кодом. Кількість таких модулів не обмежена. Один модуль може бути вкладений в інший, тобто застосовується багато-ієрархічна структура модулів. Модулі можуть групуватися в пакети.

Для використання одного модуля з іншого його потрібно підключити (імпортувати) в цей модуль.

Отже, основою ООП є клас і об’єкт. Клас — це складний тип даних із певним набором змінних (полів) і функцій (методів) опрацювання значень, що зберігаються у цих змінних. Під час кожного звернення до класу створюється новий об’єкт — екземпляр класу. Тому можна отримати необмежену кількість екземплярів на основі цього класу.

Можна використовувати модулі як розроблені самостійно, так і наявні у стандартній бібліотеці мови. Один із модулів є головним, з нього запускається проект на виконання. Щоб запустити один модуль з іншого, його необхідно підключити до останнього (імпортувати).

Запитання для перевірки знань

Поясніть сутність терміна «об'єкт» у програмуванні.

Наведіть приклади властивостей та значень об'єктів.

Поясніть сутність події та обробника подій у програмуванні.

Які особливості мають об'єкти у мові Python?

Як оголошуються об'єкти і класи у мові Python?

Яку структуру має проект мовою Python?

Практична робота № 18

ТЕМА. Робота у середовищі програмування ЗАВДАННЯ: виконати в інтерактивному режимі середовища

IDLE найпростіші команди і код в режимі виконання файлів програмного коду.

ОБЛАДНАННЯ: комп'ютер з операційною системою Windows 7 і вище, з мовою Python і середовищем IDLE.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки

Обчисліть в інтерактивному режимі середовища IDLE: а) 156.5 + 21.6; б) 378 : 5; в) 584 * 13.

Обчисліть в інтерактивному режимі вирази 48 - 21 / 3.5 і 263 * 5 - 4.1. Обидва вирази запишіть в одному рядку.

Обчисліть в інтерактивному режимі значення виразу 753 - 3.1 * (54 + 32.5) + 77.4 / 6.

Вираз запишіть у двох рядках.

Обчисліть в інтерактивному режимі: у = 28.6 + 41 * 3.5.

Обчисліть в інтерактивному режимі:

у = (96.7 + 8.25 * 3.7) / 6.2.

Розробіть код обчислення значення виразу

Уведіть код, збережіть його, виконайте.

Розробіть код із привітанням з днем учителя. Уведіть, збережіть і виконайте код.

Розробіть код обчислення значення виразу:

Уведіть, збережіть і виконайте код.

Закрийте файл коду. Завантажте його і виконайте.

Зробіть висновок про доцільність використання інтерактивного режиму та переваги режиму виконання файлів.

 

 

Це матеріал з підручника Інформатика 8 клас Руденко (2021)

 




Попередня сторінка:  9.3. Середовище програмування Python
Наступна сторінка:   10.1. Дані, змінні, константи. Прості тип...



^