Що таке пресtracв Java? (з прикладом)

⚡ Розумний підсумок

Дані Абсtracв Java це об'єктно-орієнтована концепція, яка показує лише основні атрибути та приховує непотрібні деталі, зменшуючи складність за допомогою абсtracт-класи та пресtracметоди, хоча й відрізняються від інкапсуляції та підтримують багаторазові, зручні в обслуговуванні конструкції в багатьох застосуваннях.

  • 🎭 AbstracВизначення: Показує лише основні атрибути та приховує від користувача непотрібні деталі реалізації.
  • 🏦 Реальний приклад: Банківський застосунок вибирає лише відповідні дані клієнтів, які стають основними даними, придатними для повторного використання.
  • 🆚 Abstracція проти інкапсуляції: Abstracція вирішує проблеми рівня проектування; інкапсуляція обробляє реалізацію шляхом зв'язування коду та даних.
  • 🧱 AbstracКлас t: Містить щонайменше один пресtracметод t, не може бути створений екземпляр і може змішувати абсtracт і конкретні методи.
  • 📐 AbstracМетод: Оголошує лише підпис без тіла та має бути реалізований підкласами.
  • 🔒 Остаточне ключове слово: Клас final не можна успадкувати, метод final не можна перевизначити, а змінна final є константою.

Дані Абсtracв Java

Що таке пресtracв Java?

Abstracції – це концепція об’єктно-орієнтованого програмування, яка «показує» лише основні атрибути та «приховує» непотрібну інформацію. Головна мета abstracприховує непотрібні деталі від користувачів. АбсtracЦе полягає в виборі даних з більшого пулу, щоб показати користувачеві лише відповідні деталі об'єкта. Це допомагає зменшити складність програмування та зусилля. Це одна з найважливіших концепцій ООП.

Натисніть тут якщо відео недоступне

Давайте вивчати пресtracція в ООП з прикладом:

Припустімо, ви хочете створити банківську програму, і вас просять зібрати всю інформацію про вашого клієнта. Є ймовірність, що ви отримаєте наступну інформацію про клієнта

Abstracв Java
Abstracв Java

Але не вся наведена вище інформація потрібна для створення банківської програми. Отже, відбирати для себе потрібно лише корисну інформацію банківська програма з цього пулу. Такі дані, як ім'я, адреса, податкова інформація тощо, мають сенс для банківської програми, яка є Abstracприклад в ООП

Abstracв Java

Оскільки ми отримали/видалив/вибрали інформацію про клієнта з більшого пулу, цей процес називається Abs.tracв ООПОднак, та сама інформація, як тількиtracДані ted можна використовувати для широкого кола застосувань. Наприклад, ви можете використовувати ті самі дані для заявки в лікарні, заявки на портал вакансій, урядової бази даних тощо з незначними змінами або без них. Таким чином, вони стають вашими основними даними. Це перевага Abs.tracція в ООП.

Різниця між пресомtracція та інкапсуляція

Abstracції Інкапсуляція
Abstracція в об'єктно-орієнтованому програмуванні вирішує проблеми на рівні проектування. Інкапсуляція вирішує це на рівні реалізації.
AbstracСуть у програмуванні полягає в приховуванні небажаних деталей, водночас показуючи найважливішу інформацію. Інкапсуляція означає зв'язування коду та даних в єдине ціле.
Дані Абсtracв Java дозволяє зосередитися на тому, що повинен містити інформаційний об'єкт Інкапсуляція означає приховування внутрішніх деталей або механізмів того, як об’єкт щось робить з міркувань безпеки.

Різниця між пресомtracКлас та інтерфейс t

AbstracКлас т інтерфейс
Пресtract-клас може мати обидва пресиtracт та не абсtracт методи. Інтерфейс може мати лише abstracт методи.
Він не підтримує множинне успадкування. Він підтримує множинне успадкування.
Він може забезпечити реалізацію інтерфейсу. Це не може забезпечити реалізацію пресуtracт-клас.
Пресtract-клас може мати захищений та абсtracпублічні методи. Інтерфейс може мати лише публічний abstracт методи.
ПресtracКлас t може мати змінну final, static або static final з будь-яким специфікатором доступу. Інтерфейс може мати лише загальнодоступну статичну кінцеву змінну.

Що таке пресtracКлас?

ABSTRACТ-КЛАС є типом класу в Java, що декларують один або декілька абсtract методи. Ці класи можуть мати абсtract методи, а також конкретні методи. Звичайний клас не може мати abstracметоди. Абсtract-клас — це клас, який містить принаймні один абсtracметод t. Ми можемо зрозуміти цю концепцію за допомогою приклад форми в java.

Розглянемо наступну ієрархію класів, що складається з класу Shape, який успадковується трьома класами Rectangle, Circle і Triangle. Клас Shape створено для збереження загальних атрибутів і методів, спільних для трьох класів Rectangle, Circle і Triangle. CalculateArea() — це один із таких методів, спільний для всіх трьох дочірніх класів і присутній у класі Shape.

AbstracКлас t у Java

Форма пресуtracПриклад

Тепер припустімо, що ви пишете код для створення об’єктів для класів, зображених вище. Давайте поспостерігаємо, як ці об'єкти виглядатимуть у практичному світі. Об’єкт класу rectangle надасть прямокутник, форму, яку ми так часто спостерігаємо у повсякденному житті.

AbstracКлас т

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

AbstracКлас т

Але як би виглядав об’єкт Class Shape у практичному світі??

AbstracКлас т

Якщо ви спостерігаєте, що клас Shape служить у наша мета досягнення спадкування і поліморфізм. Але він не був створений для створення екземпляра. Такі класи можна позначати AbstractПресtracНеможливо створити екземпляр класу Java.

Синтаксис:

abstract class Shape{
	// code
}

Можливо, ви НЕ позначаєте клас Shape як Abstract, а потім створити його екземпляр. Але такий об'єкт не матиме жодного значення у вашому коді та відкриє простір для потенційних помилок. Тому це небажано.

Що таке пресtracМетоди в Java?

ABSTRACТ-МЕТОД in Java, — це метод, який має лише визначення методу, але не містить реалізації. Метод без тіла називається Abs.tracМетод t. Його потрібно оголосити у форматі abstracт-клас. ПресtracМетод t ніколи не буде остаточним, оскільки абсtracКлас t повинен реалізувати всі абсtracт методи.

Як ми всі знаємо, формула для обчислення площі прямокутника, кола та трикутника відрізняється. Метод CalculateArea() має бути перевизначений класами-спадкоємцями. Немає сенсу визначати його в класі Shape, але нам потрібно переконатися, що всі класи-спадкоємці мають метод.

Такі методи можна позначити ABStract.

Синтаксис:

abstract public void calculateArea();

Для ABStract-метод, реалізація не потрібна. Визначається лише сигнатура методу.

Abstracції Code Приклад

abstract class Shape{
  abstract void calculateArea();
}
 class guru99 extends Shape{
void calculateArea(){System.out.println("Area of Shape");}
public static void main(String args[]){
 Shape obj = new guru99();
 obj.calculateArea();
}
}

Переваги пресуtracції

  • Основна перевага використання пресуtracв Програмування полягає в тому, що він дозволяє групувати кілька пов’язаних класів як братів і сестер.
  • Abstracвання в об'єктно-орієнтованому програмуванні допомагає зменшити складність процесу проектування та впровадження програмного забезпечення.

Кінцеве ключове слово в Java

Останній модифікатор застосовується до класів, методів і змінних. Значення слова final варіюється від контексту до контексту, але основна ідея однакова.

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

Приклад :- Щоб навчитися м'язам пресуtracключові слова t та final

Крок 1) Скопіюйте наступний код у редактор.

abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

Крок 2) Збережіть, скомпілюйте та запустіть код.

Крок 3) Помилка =? ПресtracМетод t не реалізовано в класі Rectangle. Щоб виправити проблему, розкоментуйте рядок №15.

Крок 4) Розкоментуйте рядок № 13. Збережіть і скомпілюйте код.

Крок 5) Помилка = ? змінна b є кінцевою

Коли використовувати пресtracМетоди та пресtracКлас?

AbstracМетоди t здебільшого оголошуються там, де два або більше підкласів також виконують ту саму дію різними способами через різні реалізації. Він також розширює ті самі Abs.tract-клас і пропонує різні реалізації пресуtracт методи.

AbstracКласи t допомагають описувати загальні типи поведінки та ієрархію класів об'єктно-орієнтованого програмування. Вони також описують підкласи, щоб запропонувати деталі реалізації ABS.tracт-клас.

Поширені запитання

Java забезпечує два типи пресуtracція: дані абсtracція, досягнута за допомогою пресуtract-класи (частковий абсtracція), і повний пресtracція, досягнута за допомогою інтерфейсів. Обидва приховують деталі реалізації та розкривають лише основні функції.

Так. ПресtracКлас t може мати конструктор, який викликається під час створення об'єкта підкласу. Він використовується для ініціалізації спільних полів, що використовуються спадковими підкласами.

ПресtracКлас t не може бути створений, оскільки він може містити abstract методи без реалізації. Він існує для успадкування, дозволяючи підкласам забезпечувати конкретні реалізації цих методів.

Інструменти штучного інтелекту застосовують пресtracція шляхом створення абсtract-класи та інтерфейси, рекомендуючи, які деталі приховати, та рефакторинг коду для зменшення складності. Це допомагає розробникам створювати чистіші та зручніші в обслуговуванні моделі об'єктів.

Так. Помічники ШІ-кодування можуть створювати м'язи пресуtract-класи, визначення абсtract методи та підкласи scaffold з необхідними реалізаціями, helping початківці застосовують пресtracправильно об'єктно-орієнтовано Java програм.

Підсумуйте цей пост за допомогою: