Вступ до перекриття в Java

  • Java була дуже відомою загальноприйнятою мовою, що має об'єктно-орієнтований характер, заснований на класах, а також примітивні типи даних, які, як відомо, містять мало залежностей від реалізації, що робить роботу розробників додатків дуже простою забезпечує їм можливість просто писати один раз і читати в будь-якому місці. Перш ніж детально переходити до концепції переосмислення, слід детально ознайомитися з концепцією батьківського класу, а також дочірнього класу.
  • Батьківський клас - це надклас, тобто клас, який знаходиться на вершині і має унікальний набір індивідуальних характеристик та сутностей, тоді як дочірній клас або базовий клас є тим, який присутній у нижньому кінці батьківського класу та має інший все ж нагадуючи набір функцій. Крім того, перекриття в Java поширюється на те, щоб отримати особливості батьківського класу по відношенню IS-A, і тому його називають спадщиною.
  • Однією з таких особливостей цієї мови програмування є функція Overriding, згідно з якою в будь-якій об'єктно-орієнтованій мові програмування переопределення стає функцією, яка використовує підклас або дочірній клас з метою забезпечення конкретної реалізації методу програми, який вже є замість одного з батьківських класів або надкласових класів. Якщо метод підкласу має те саме ім’я, ту саму підпис або параметр і аналогічний тип повернення або підтип, який використовується як метод у надкласі, тоді метод підкласу перекриває метод надкласу.
  • Іншими словами, якщо дочірній клас, базовий клас або підклас отримує те саме ім'я методу, яке є батьківським методом, він відомий як метод, що переосмислює Java. Або краще сказати, якщо підклас забезпечує реалізацію методів, які вже оголошені будь-яким з батьківських класів, то також може бути відомо, що метод перекриває Java.

Основними способами перекриття методу Java є:

  1. Він використовується для забезпечення конкретної реалізації методу, який вже був забезпечений відповідним суперкласом.
  2. Поняття переосмислення методу також поширюється на поліморфізм виконання.

Як переосмислення працює на Java?

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

Приклади переосмислення Java

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

Перший приклад:

class MyVehicle(
void run()(
System.out.println("It's a running vehicle");)
)
class MyCar extends MyVehicle(
public static void main(String args())(
MyCar obj = new MyCar();
obj.run();
)
)

Вихід:

Вихід: Це ходовий транспорт. Тепер мені довелося надати конкретну реалізацію методу run (), який надається в підкласі, і тому ми зможемо скористатися функцією переосмислення методу в майбутньому.

Другий приклад:

class MyVehicle(
void run()(System.out.println("My vehicle is running");)
) class MyCar2 extends MyVehicle(
void run()(System.out.println("My car is running");)
public static void main(String args())(
MyCar2 obj = new MyCar2();
obj.run();
)
)

Вихід:

Мій автомобіль працює - це результат наведеного вище прикладу проблеми.

Пояснення: Тепер, якщо уважно подивитися на те, що сталося в обох прикладах, перший приклад говорить про розширення дочірнього класу з батьківським класом, що також є у другому випадку. Але в цьому прикладі MyCar2 розширює MyVehicle, і, як визначено визначенням методу, що перекриває рішення для виклику, робиться під час виконання, тобто під час виклику методу run (). Коли цей метод був викликаний, виклик спочатку перейшов до дочірнього класу чи базового класу, оскільки він вже розширював усі властивості батьківського класу і тому був би цілком достатнім. Потім, як тільки він дійшов до розділу базового класу і переконався, що спадщина є співвідношенням IS-A разом із розширенням ключового слова, він успішно роздрукував вихід: Мій автомобіль працює.

Правила переопределення методів на Java

  1. Назва методу повинна бути однаковою для обох батьків, а також для дитячого класу.
  2. Параметр базового класу повинен бути таким же, як у батьківського класу.
  3. Ці відносини повинні бути відносинами IS-A між дочірнім класом, а також батьківським класом.

Висновок

Java була дуже давньою мовою програмування, і сьогодні вона майже використовується у будь-якій галузі технологій. Тому потрібно чітко усвідомлювати типи та поняття, які використовуються в цій надійній мові програмування. Мова Java зазвичай поділяється на два сегменти Ie Core Java та Advanced Java. Поняття переопределення методу є частиною основної Java, де він використовує функції об'єктно-орієнтованих методів програмування, таких як Спадництво. Це дуже важлива тема, яку ви обов'язково повинні детально зрозуміти, якщо ви хочете працювати цією мовою. Сподіваюся, вам сподобалась наша стаття. Залишайтеся з нами для отримання таких статей.

Рекомендовані статті

Це посібник з переосмислення Java. Тут ми обговорюємо Вступ до переосмислення Java, типи переопределення на Java та правила переопределення методів на Java. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Об'єкти JavaScript
  2. Методи масивів у JavaScript
  3. Анотації на Java
  4. Перевагу в ООП
  5. Перевантаження Python