Огляд успадкування Java

На відміну від інших мов програмування, таких як C, Java пропонує механізм, за допомогою якого члени даних та методи одного класу успадковуються іншим класом. Цей процес відомий як Успадкування в Java. Для успадкування від класу використовується ключове слово 'extends'. Успадкування Java дозволяє повторно використовувати код, так що класу потрібно лише записати унікальні функції, а решта коду можна поширити з іншого класу. Клас, який успадковує від іншого класу, відомий як підклас або дочірній клас, а клас, який успадковується, відомий як батьківський клас або надклас. Синтаксис, типи та реалізація успадкування будуть обговорені в наступних розділах.

Типи спадкування на Java

Спадщина означає відносини IS-A, які інакше відомі як відносини батько-дитина. Батько та дитина вже згадуються у вступній частині.

Перш ніж перейти до типів спадкування в java, спочатку давайте подивимось синтаксис успадкування.

Синтаксис:

class apple extends fruit
(
//methods and fields
)

Тут яблуко є підкласом, а фрукт - батьківським класом. Це означає, що яблуко має певні унікальні властивості, а також має властивості фруктів.

У Java існує 4 різних типи спадкування.

  • Єдине спадкування
  • Багаторівневе спадкування
  • Ієрархічна спадщина
  • Множинне спадкування (за допомогою інтерфейсів)

Тепер давайте докладніше розглянемо кожну з них.

1. Одномісне спадкування

Клас, який поширюється лише на один клас. У наступному прикладі яблуневий клас поширює плоди класу.

тобто Fruit - це суперклас, а Apple - підклас, який розширює властивості та поведінку класу Fruit.

Далі йде демонстрація єдиного спадкування на Java.

Код:

//Java program to demonstrate Single Inheritance
//parent class
class fruit (
public void taste()
(
System.out.println("Fruits are sweet");
)
)
//child class of fruit
class apple extends fruit
(
public void shape()
(
System.out.println("Apple is round");
)
)
public class InheritanceExample
(
public static void main(String() args) (
apple fr = new apple(); //object of child class
fr.taste(); //call method of parent class
fr.shape(); //call method of child class
)
)

Вихід:

2. Багаторівневе спадкування

У цьому типі успадкування клас буде розширено з іншого класу, а похідний клас виступатиме базовим класом для якогось іншого класу.

Наприклад, на малюнку клас чотириколісний - це батьківський клас, а автомобіль - похідний клас чотириколісного класу. У той же час автомобіль класу може бути базовим класом для класу Маруті.

Код:

//Java program to demonstrate Multiple Inheritance
//parent class
class fourwheeler (
public void wheels()
(
System.out.println("I have 4 wheels");
)
)
//child class of fourwheeler and parent of maruti
class car extends fourwheeler
(
public void type()
(
System.out.println("I'm a car");
)
)
//child class of car class
class maruti extends car
(
public void comp()
(
System.out.println("I'm maruti");
)
)
public class InheritanceExample
(
public static void main(String() args) (
maruti fr = new maruti(); //object of child class
fr.wheels();
fr.type();
fr.comp();
)
)

Вихід:

3. Ієрархічне спадкування

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

Наприклад, автомобіль класу має підкласи автомобілів, велосипедів, скутерів.

Код:

//Java program to demonstrate Hierarchical Inheritance
//parent class
class vehicle (
public void wheels()
(
System.out.println("I have wheels");
)
)
//first child class of vehicle class
class bike extends vehicle
(
public void countwl()
(
System.out.println("I am a bike and has 2 wheels");
)
)
//second child class of vehicle class
class car extends vehicle
(
public void countwlc()
(
System.out.println("I am a car and has 4 wheels");
)
)
//third child class of vehicle class
class scooter extends vehicle
(
public void countwls()
(
System.out.println("I am a scooter and has 2 wheels");
)
)
public class InheritanceExample
(
public static void main(String() args) (
scooter sc = new scooter(); //object of scooter class
sc.wheels();
sc.countwls();
car c = new car(); //object of car class
c.wheels();
c.countwlc();
bike b= new bike();//object of bike class
b.wheels();
b.countwl();
)
)

Вихід:

4. Множинне спадкування

Багатократне успадкування в java - це тип успадкування, в якому клас має більше одного батьківського класу.

Наприклад, клас C набуває властивостей як класу A, так і класу B.

Але в Java багаторазове спадкування можна досягти лише за допомогою інтерфейсів.

Припустимо, багато успадкованих реалізованих, як і інші типи успадкування, помилка часу компіляції може виникнути наступним чином.

Код:

//Java program to demonstrate multiple Inheritance
//parent class
class A
(
public void hh()
(
System.out.println("A is working");
)
)
class B
(
public void hh()
(
System.out.println("B is working");
)
)
class C extends A, B
(
//code for class c
)
public class InheritanceExample
(
public static void main(String() args) (
C sc = new C(); //object of C class
C.hh();
)
)

Тут результат не відображатиметься, оскільки містить помилку часу компіляції.

Важливість успадкування Java

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

Синтаксис:

final class A
(
. . .
)
Class B extends A
(
. . .
)

У цьому випадку буде створена помилка, яка говорить "Неможливо успадкувати від остаточного A".

Висновок

Успадкування Java - це властивість, за допомогою якої властивості та поведінка класу набувається іншим класом з метою забезпечення повторного використання коду. На Яві існують різні типи успадкування, такі як Single Inheritance, Multi-level Inheritance, Hierarchical Inheritance, and Multiple Inheritance на Java. У цьому документі висвітлено декілька важливих аспектів спадкування.

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

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

  1. JScrollPane на Java
  2. Сесії в PHP
  3. Сортування на Java
  4. Що таке Java Garbage Collector?
  5. Інструменти розгортання Java
  6. Перевагу в Java
  7. Спадщина в PHP