ООП Concepts in Java
Що таке OOPS?
Об'єктно-орієнтована система програмування (ООП) це концепція програмування, яка працює на принципах абстракції, інкапсуляції, успадкування та поліморфізму. Це дозволяє користувачам створювати потрібні їм об’єкти та створювати методи для обробки цих об’єктів. Основна концепція ООП полягає у створенні об’єктів, повторному використанні їх у програмі та маніпулюванні цими об’єктами для отримання результату.
ООП, що означає «об’єктно-орієнтоване програмування», є загальновідомим і широко використовуваним поняттям у сучасних мовах програмування, таких як Java.
ООП Concepts in Java з прикладами
Нижче наведено загальні концепції ООП Java:
1) Клас
Команда клас це одна з основних концепцій ООП, яка є групою подібних сутностей. Це лише логічний компонент, а не фізична сутність. Давайте розберемося в цьому одному з ООП Concepts наприклад, якщо у вас був клас під назвою «Дорогі автомобілі», він міг містити такі об’єкти, як «Мерседес», «БМВ», «Тойота» тощо. Його властивостями (даними) можуть бути ціна або швидкість цих автомобілів. Хоча методи можуть бути виконані з цими автомобілями: водіння, задній хід, гальмування тощо.
2) Об'єкт
Об’єкт можна визначити як екземпляр класу, і в програмі може бути кілька екземплярів класу. Об’єкт є одним із Java Концепції ООП, які містять як дані, так і функцію, яка працює з даними. Наприклад – стілець, велосипед, маркер, ручка, стіл, автомобіль тощо.
3) Спадкування
Спадкування є одним з Основних Concepts ООП, у яких один об’єкт набуває властивостей і поведінки батьківського об’єкта. Це створення стосунків батьків і дітей між двома класами. Він пропонує надійний і природний механізм для організації та структури будь-якого програмного забезпечення.
4) Поліморфізм
Поліморфізм відноситься до однієї з концепцій ООП в Java це здатність змінної, об'єкта або функції приймати різні форми. Наприклад, в англійській мові дієслово пробіг має інше значення, якщо ви використовуєте його з ноутбук, пішохідний біг та бізнес. Тут ми розуміємо значення пробіг на основі інших слів, які вживаються разом з ним. Те саме стосується поліморфізму.
5) Абстракція
Абстракція є одним з ООП Concepts in Java який є актом представлення суттєвих ознак без включення фонових деталей. Це техніка створення нового типу даних, який підходить для конкретної програми. Давайте розберемося в цьому одному з ООП Concepts наприклад, керуючи автомобілем, вам не потрібно турбуватися про його внутрішню роботу. Тут вам просто потрібно потурбуватися про такі деталі, як кермо, коробка передач, акселератор тощо.
6) Інкапсуляція
Інкапсуляція є одним з найкращих Java Концепції ООП щодо упаковки даних і коду. У цій концепції ООП змінні класу завжди приховані від інших класів. До нього можна отримати доступ лише за допомогою методів їх поточного класу. Наприклад – у школі учень не може існувати без класу.
7) Асоціація
Асоціація - це зв'язок між двома об'єктами. Це один з ООП Concepts in Java що визначає різноманітність між об’єктами. У цій концепції ООП усі об’єкти мають окремий життєвий цикл і немає власника. Наприклад, багато студентів можуть спілкуватися з одним викладачем, тоді як один студент також може спілкуватися з кількома викладачами.
8) Агрегація
У цій техніці всі об’єкти мають окремий життєвий цикл. Однак існує таке право власності, що дочірній об’єкт не може належати іншому батьківському об’єкту. Для прикладу розглянемо клас/предметний відділ і вчителя. Тут один викладач не може належати до кількох кафедр, але навіть якщо ми видалимо кафедру, об’єкт викладача ніколи не буде знищено.
9) Склад
Композиція є спеціалізованою формою агрегації. Це також називають стосунками «смерті». Дочірні об’єкти не мають свого життєвого циклу, тому, коли батьківський об’єкт видаляє, усі дочірні об’єкти також видаляються автоматично. Для цього візьмемо приклад House and room. Будь-який будинок може мати кілька кімнат. Одна кімната не може стати частиною двох різних будинків. Отже, якщо ви видалите будинок, кімната також буде видалена.
Переваги ООП (системи об'єктно-орієнтованого програмування):
- ООП Concepts in Java пропонують просту для розуміння та чітку модульну структуру програм.
- Об’єкти, створені для об’єктно-орієнтованих програм, можна повторно використовувати в інших програмах. Таким чином, це значно економить витрати на розробку.
- Великі програми складно писати, але якщо команда розробників і проектувальників дотримується концепцій OOPS, вони можуть краще проектувати з мінімальними недоліками.
- Це покращує модульність програми, оскільки кожен об’єкт існує незалежно.
Порівняння OOPS з іншими стилями програмування за допомогою прикладу
Розберемося на прикладі як Java ООП Concepts відрізняються від інших підходів програмування.
Мови програмування можна розділити на 3 основні типи
- Неструктуровані мови програмування: Найпримітивніша з усіх мов програмування, що має послідовний потік керування. Код повторюється в програмі
- Структуровані мови програмування: Має непослідовний потік керування. Використання функцій дозволяє повторно використовувати код.
- Об'єктно-орієнтовані мови програмування: поєднує дані та дії разом.
Натисніть тут якщо відео недоступне
Розберемо ці 3 типи на прикладі.
Припустімо, ви хочете створити банківське програмне забезпечення з такими функціями, як
- Депозит
- Вивести
- Показати баланс
Неструктуровані мови програмування
Найпершими з усіх мов програмування були неструктуровані мови програмування. Дуже елементарний код банківської програми на неструктурованій мові програмування матиме дві змінні: один номер рахунку та інший для балансу рахунку
int account_number=20; int account_balance=100;
Припустимо, зроблено депозит у розмірі 100 доларів.
account_balance=account_balance+100
Далі потрібно відобразити баланс рахунку.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
Зараз виведена сума 50 доларів.
account_balance=account_balance-50
Знову ж таки, потрібно відобразити баланс рахунку.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
Для будь-якої подальшої операції по внесенню чи зняттю – ви будете кодувати ті самі рядки знову і знову.
Структуроване програмування
З появою структурного програмування повторювані рядки коду були введені в такі структури, як функції або методи. За потреби виконується простий виклик функції.
Об'єктно-орієнтоване програмування
У нашій програмі ми маємо справу з даними або виконуємо над ними певні операції. Насправді наявність даних і виконання певних операцій з ними є основною характеристикою будь-якої програми. Фахівці з програмування програмного забезпечення придумали об’єднати дані та Operaцій. Таким чином, народження об'єктно-орієнтованого програмування, яке зазвичай називають OOPS. Той самий код у мовах об’єктно-орієнтованого програмування матиме однакові дані та певні дії, що виконуються з цими даними.
Class Account{ int account_number; int account_balance; public void showdata(){ system.out.println(“Account Number”+account_number) System.out.println(“Account Balance”+ account_balance) } }
Поєднуючи дані та дії, ми отримаємо багато переваг перед структурним програмуванням, а саме:
- Абстракція
- Інкапсуляція
- Спадкування
- Поліморфізм
Вони обговорюються більш детально в наступних посібниках