Omówienie dziedziczenia w Javie

W przeciwieństwie do innych języków programowania, takich jak C, Java oferuje mechanizm, za pomocą którego elementy danych i metody jednej klasy są dziedziczone przez inną klasę. Ten proces jest nazywany dziedziczeniem w Javie. Aby dziedziczyć po klasie, używane jest słowo kluczowe „extends”. Dziedziczenie w Javie pozwala na ponowne użycie kodu, dzięki czemu klasa musi tylko napisać unikalne funkcje, a resztę kodu można rozszerzyć na inną klasę. Klasa dziedzicząca z innej klasy jest znana jako podklasa lub klasa potomna, a dziedziczona klasa jest znana jako klasa nadrzędna lub nadklasa. Składnia, typy i implementacja dziedziczenia zostaną omówione w poniższych sekcjach.

Rodzaje dziedziczenia w Javie

Dziedziczenie oznacza relację IS-A, która jest inaczej znana jako relacja rodzic-dziecko. Rodzic i dziecko są już wspomniani w części wstępnej.

Zanim przejdziemy do rodzajów dziedziczenia w java, najpierw zobaczmy składnię dziedziczenia.

Składnia:

class apple extends fruit
(
//methods and fields
)

Jabłko to podklasa, a owoc to klasa rodzicielska. Oznacza to, że jabłko ma pewne unikalne właściwości, a także ma właściwości owocu.

Istnieją 4 różne rodzaje dziedziczenia w Javie.

  • Pojedyncze dziedzictwo
  • Dziedziczenie wielopoziomowe
  • Dziedziczenie hierarchiczne
  • Wielokrotne dziedziczenie (za pomocą interfejsów)

Zobaczmy teraz każdy z nich szczegółowo.

1. Pojedyncze dziedzictwo

Klasa, która rozszerza tylko jedną klasę. W poniższym przykładzie jabłko klasowe rozszerza owoce klasowe.

tj. Fruit to nadklasa, a Apple to podklasa, która rozszerza właściwości i zachowanie klasy Fruit.

Poniżej przedstawiono demonstrację pojedynczego dziedziczenia w Javie.

Kod:

//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
)
)

Wynik:

2. Dziedziczenie wielopoziomowe

W tego rodzaju dziedziczeniu klasa zostanie rozszerzona z innej klasy, a klasa pochodna będzie działać jako klasa podstawowa dla innej klasy.

Na przykład na rysunku czterokołowiec klasy jest klasą nadrzędną, a samochód jest pochodną klasą czterokołowca. Jednocześnie samochód klasy może być klasą podstawową dla klasy Maruti.

Kod:

//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();
)
)

Wynik:

3. Dziedziczenie hierarchiczne

W dziedziczeniu hierarchicznym klasa podstawowa ma więcej niż jedną klasę potomną, co oznacza, że ​​właściwości klasy są nabywane przez różne klasy.

Na przykład pojazd klasy ma podklasy samochody, motocykle, skutery.

Kod:

//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();
)
)

Wynik:

4. Wielokrotne dziedziczenie

Wielokrotne dziedziczenie w java jest rodzajem dziedziczenia, w którym klasa ma więcej niż jedną klasę nadrzędną.

Na przykład klasa C nabywa właściwości zarówno klasy A, jak i klasy B.

Ale w Javie wielokrotne dziedziczenie można osiągnąć tylko przy użyciu interfejsów.

Załóżmy, że zaimplementowano wiele dziedziczeń, podobnie jak inne rodzaje dziedziczenia, błąd kompilacji może wystąpić w następujący sposób.

Kod:

//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();
)
)

W tym przypadku dane wyjściowe nie będą wyświetlane, ponieważ zawierają błąd czasu kompilacji.

Znaczenie dziedziczenia w Javie

  • Ponowne użycie kodu: Dziedziczenie pomaga w ograniczeniu przepisywania kodu. tj. Kod może być ponownie wykorzystany przez inne klasy, a klasa potomna musi jedynie napisać własne unikalne właściwości. Zmniejsza to czasochłonność i złożoność kodu.
  • W przypadku przesłonięcia metody: metoda, która jest już obecna w klasie nadrzędnej, jest zadeklarowana przez klasę podrzędną, a następnie jest znana jako przesłonięcie metody.
Uwaga: Załóżmy, że jeśli klasa nie powinna zostać ponownie użyta, można użyć słowa kluczowego final.

Składnia:

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

W takim przypadku zostanie wygenerowany błąd, który mówi „Nie można dziedziczyć po końcowym A”.

Wniosek

Dziedziczenie w Javie jest właściwością, dzięki której właściwości i zachowanie klasy są nabywane przez inną klasę w celu zapewnienia możliwości ponownego użycia kodu. Istnieją różne typy dziedziczenia w Javie, takie jak dziedziczenie pojedyncze, dziedziczenie wielopoziomowe, dziedziczenie hierarchiczne i wielokrotne dziedziczenie w Javie. W tym dokumencie omówiono kilka ważnych aspektów dziedziczenia.

Polecane artykuły

Jest to przewodnik po dziedziczeniu w Javie. Tutaj omawiamy znaczenie i różne rodzaje dziedziczenia w Javie wraz ze składnią, przykładami i implementacją kodu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-

  1. JScrollPane w Javie
  2. Sesje w PHP
  3. Sortowanie w Javie
  4. Co to jest Java Garbage Collector?
  5. Narzędzia wdrażania Java
  6. Przesłanianie w Javie
  7. Dziedziczenie w PHP