logo

Концепції ООП Java

  1. Об'єктно-орієнтоване програмування
  2. Перевага ООП над процедурно-орієнтованою мовою програмування
  3. Різниця між об'єктно-орієнтованою та об'єктно-орієнтованою мовами програмування.

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

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

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

Популярними є об'єктно-орієнтовані мови Java , C# , PHP , Python , C++ і т.д.

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

рівність об’єктів у java

ООП (система об'єктно-орієнтованого програмування)

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

Окрім цих понять, в об’єктно-орієнтованому проектуванні використовуються деякі інші терміни:

  • Зчеплення
  • Згуртованість
  • Асоціація
  • Агрегація
  • Композиція
Концепції ООП Java

Об'єкт

Об'єкт Java

Будь-яка сутність, яка має стан і поведінку, називається об’єктом. Наприклад, стілець, ручка, стіл, клавіатура, велосипед тощо. Він може бути фізичним або логічним.

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

приклад: Собака є об’єктом, оскільки вона має такі стани, як колір, ім’я, порода тощо, а також поведінку, наприклад виляння хвостом, гавкіт, їжа тощо.

Клас

Колекція предметів називається класом. Це логічна сутність.

Клас також можна визначити як план, з якого можна створити окремий об’єкт. Клас не займає місця.

Спадщина

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

Поліморфізм в Java

Поліморфізм

Якщо одне завдання виконується різними способами , це відомо як поліморфізм. Наприклад: переконати замовника в іншому, намалювати що-небудь, наприклад, фігуру, трикутник, прямокутник тощо.

У Java ми використовуємо перевантаження та перевизначення методів для досягнення поліморфізму.

Іншим прикладом може бути щось говорити; наприклад, кішка говорить нявкання, собака гавкає гав і т.д.

Абстракція

Приховування внутрішніх деталей і показ функціональності відомий як абстракція. Наприклад, телефонний дзвінок, ми не знаємо внутрішньої обробки.

У Java ми використовуємо абстрактний клас та інтерфейс для досягнення абстракції.

Концепції інкапсуляції в ООП Java

Інкапсуляція

Зв’язування (або обгортання) коду та даних разом в єдиний блок відоме як інкапсуляція . Наприклад, капсула, в неї загортають різні ліки.

Прикладом інкапсуляції є клас Java. Java bean є повністю інкапсульованим класом, тому що всі члени даних є приватними.

Зчеплення

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

Згуртованість

Згуртованість означає рівень компонента, який виконує одне чітко визначене завдання. Одне чітко визначене завдання виконується за допомогою методу високої злагодженості. Слабко зв'язний метод розбиває завдання на окремі частини. Пакет java.io є дуже згуртованим пакетом, оскільки він має класи та інтерфейс, пов’язані з введенням/виведенням. Однак пакет java.util є слабо зв'язаним пакетом, оскільки він має непов'язані класи та інтерфейси.

Асоціація

Асоціація представляє зв'язок між об'єктами. Тут один об’єкт може бути пов’язаний з одним або багатьма об’єктами. Між об’єктами може бути чотири види асоціації:

  • Один до одного
  • Один до багатьох
  • Багато до одного, і
  • Багато до багатьох

Давайте зрозуміємо зв’язок на прикладах у реальному часі. Наприклад, одна країна може мати одного прем’єр-міністра (один до одного), а прем’єр-міністр може мати багато міністрів (один до багатьох). Крім того, багато депутатів можуть мати одного прем’єр-міністра (багато до одного), а багато міністрів можуть мати багато департаментів (багато до багатьох).

dijkstra

Асоціація може бути ненаправленою або двонаправленою.

Агрегація

Агрегація є способом досягнення асоціації. Агрегація представляє зв’язок, коли один об’єкт містить інші об’єкти як частину свого стану. Він представляє слабкий зв'язок між об'єктами. Його також називають a має відносини в Java. Мовляв, спадок являє собою це відносини. Це ще один спосіб повторного використання об’єктів.

Композиція

Композиція також є способом досягнення асоціації. Композиція представляє зв’язок, де один об’єкт містить інші об’єкти як частину свого стану. Існує міцний зв’язок між об’єктом, що містить, і залежним об’єктом. Це стан, коли об’єкти, що містять, не мають незалежного існування. Якщо видалити батьківський об’єкт, усі дочірні об’єкти будуть видалені автоматично.


Перевага ООП над процедурно-орієнтованою мовою програмування

1) ООП спрощує розробку та підтримку, тоді як у процедурно-орієнтованій мові програмування нелегко керувати, якщо код зростає зі збільшенням розміру проекту.

2) ООП забезпечує приховування даних, тоді як у процедурно-орієнтованій мові програмування глобальні дані можуть бути доступні з будь-якого місця.

Глобальні дані

Малюнок: Представлення даних у процедурно-орієнтованому програмуванні


Дані об’єкта

Малюнок: Представлення даних в об’єктно-орієнтованому програмуванні

3) ООП надає можливість симулювати події реального світу набагато ефективніше. Ми можемо забезпечити розв’язання реальної текстової задачі, якщо ми використовуємо мову об’єктно-орієнтованого програмування.


Яка різниця між об’єктно-орієнтованою мовою програмування та об’єктно-орієнтованою мовою програмування?

Об’єктно-орієнтована мова програмування має всі функції ООП, крім успадкування. JavaScript і VBScript є прикладами об’єктно-орієнтованих мов програмування.



Чи ти знаєш?
  • Чи можемо ми перевантажити основний метод?
  • Конструктор Java повертає значення, але яке?
  • Чи можемо ми створити програму без основного методу?
  • Які шість способів використання цього ключового слова?
  • Чому множинне успадкування не підтримується в Java?
  • Навіщо використовувати агрегацію?
  • Чи можемо ми перевизначити статичний метод?
  • Що таке коваріантний тип повернення?
  • Які три способи використання ключового слова Java super?
  • Навіщо використовувати блок ініціалізатора екземпляра?
  • Яке використання пустої остаточної змінної?
  • Що таке маркер або тегований інтерфейс?
  • Що таке поліморфізм часу виконання або динамічна диспетчеризація методів?
  • Яка різниця між статичним і динамічним зв’язуванням?
  • Як вниз можливе в Java?
  • Яке призначення приватного забудовника?
  • Що таке клонування об'єктів?
Що ми дізнаємося з концепцій ООП?
  • Перевага ООП
  • Угода про найменування
  • Об'єкт і клас
  • Перевантаження методу
  • Конструктор
  • статичне ключове слово
  • це ключове слово з шістьма використаннями
  • Спадщина
  • Агрегація
  • Перевизначення методу
  • Коваріантний тип повернення
  • супер ключове слово
  • Блок ініціалізації екземпляра
  • кінцеве ключове слово
  • Абстрактний клас
  • Інтерфейс
  • Поліморфізм виконання
  • Статичне та динамічне прив'язування
  • Зниження за допомогою оператора instanceof
  • Пакет
  • Модифікатори доступу
  • Інкапсуляція
  • Клонування об'єктів