Зміст курсу
Java ООП
Java ООП
Що таке ООП?
ООП
Нарешті ми почали вивчати Об'єктно-орієнтоване програмування (ООП). Сьогодні майже кожна сучасна (і навіть не дуже сучасна) мова програмування підтримує ООП у певному обсязі.
Але що таке ООП?
ООП — це парадигма програмування, у якій ми працюємо з об'єктами. Для створення застосунків використовуються об'єкти класів, методи класів та їхні властивості.
Парадигми програмування
Парадигма програмування — це, простими словами, підхід до програмування. Існує кілька різних парадигм програмування. Розглянемо найосновніші з них:
Процедурна — ця парадигма програмування передбачає організацію коду у вигляді процедур або функцій для підвищення модульності та повторного використання. Вона заохочує використання функцій або методів для інкапсуляції функціональності, що робить код більш структурованим і легким для підтримки. Такі мови, як Python, Pascal і C, підтримують процедурне програмування поряд з іншими парадигмами;
Функціональна — функціональне програмування — це парадигма, яка акцентує увагу на розгляданні обчислень як обчислення математичних функцій. Вона заохочує незмінність і використання чистих функцій, які не мають побічних ефектів. Функції є об'єктами першого класу, а код часто організовується у вигляді невеликих, багаторазових функцій. Це підвищує читабельність, розширюваність і зручність написання. Такі мови, як Haskell, Lisp і JavaScript, підтримують функціональне програмування;
ООП — як вже згадувалося, ця парадигма дозволяє працювати з об'єктами, методами класів і властивостями. Використовуючи їх, ми будуємо логіку застосунку/сайту/гри. Такий код є найбільш розширюваним і читабельним. Іноді писати код у цій парадигмі складніше, ніж у функціональній, але це виправдано, оскільки в майбутньому працювати з таким кодом набагато простіше. Майже всі популярні мови програмування зараз використовують ООП.
Можливо, ви замислюєтесь, з якими саме об'єктами класу ми працюємо. Давайте розглянемо це на прикладі:
На першому фото можна побачити, що таке властивості класу, методи, конструктори та перевизначені методи. Ви вже вивчали це у попередніх курсах, тому не будемо зупинятися на цьому детально. Варто зазначити, що ці властивості визначаються безпосередньо у класі, а потім використовуються при створенні екземплярів в інших класах;
На другому фото видно, як ми створюємо об'єкти класу за допомогою конструктора, у якому визначаємо властивості цього класу. Саме з цими об'єктами ми працюємо у парадигмі ООП. Ці об'єкти мають власні властивості та методи, які ми можемо викликати.
Це може виглядати досить просто, але насправді це і є сутність ООП-програмування. Однак важливо також враховувати принципи ООП-програмування. Один із них — "Наслідування" — ми розглянемо у наступному розділі.
1. Яка парадигма програмування вважається найбільш масштабованою?
2. У чому полягає основна відмінність між процедурною та функціональною парадигмами програмування?
Дякуємо за ваш відгук!