Rodzaje dziedziczenia w Javie z przykładami

Opublikowany: 2022-06-26

Dziedziczenie w Javie umożliwia programistom tworzenie nowych klas z już istniejącymi. Umożliwia ponowne wykorzystanie kodu. Dziedziczenie może być zarówno dziedziczeniem pojedynczym, jak i dziedziczeniem wielopoziomowym. Dziedziczenie zmniejsza redundancję kodu, czyni go bardziej czytelnym i łatwiejszym w utrzymaniu, a tym samym działa jako narzędzie do podnoszenia jakości oprogramowania.

Spis treści

Znaczenie dziedziczenia

W Javie dziedziczenie to metoda, dzięki której jedna klasa uzyskuje właściwości i funkcje innej klasy. Dziedziczenie oszczędza czas, zmniejsza nadmiarowość, sprawia, że ​​kod jest bardziej czytelny, zrozumiały i łatwy w utrzymaniu oraz działa jako narzędzie do podnoszenia jakości oprogramowania. Dziedziczenie ma wiele ważnych zastosowań w języku programowania Java Dziedziczenie umożliwia programistom tworzenie nowych klas przy użyciu istniejących Klasy dziedziczone działają jako szablony lub plany Dziedziczenie zapewnia możliwość ponownego wykorzystania oprogramowania Klasy dziedziczone działają jak relacja rodzic-dziecko Metody dziedziczone czynią dziedziczone klasy niezależnymi Atrybuty dziedziczone tworzą klasy dziedziczone niezależny.

Hierarchia dziedziczenia oznacza relację rodzic-dziecko między różnymi poziomami dziedziczenia. Najwyższy poziom dziedziczenia jest znany jako „super klasa” lub „klasa nadrzędna”.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Składnia dziedziczenia Java

class Nazwa podklasy rozszerza nazwę superklasy

{

//metody i pola

}

Słowo kluczowe extend wskazuje, że tworzysz nową klasę, która dziedziczy całą funkcjonalność swojego rodzica. Oznacza „zwiększyć” lub wzmocnić to, co już jest.

Przykład: W poniższym przykładzie dziedziczenia class Bicycle jest klasą bazową, class MountainBike jest klasą pochodną, ​​która rozszerza klasę Bicycle, a class Test jest klasą sterownika do uruchamiania programu.

Wejście:

// Program Java do zilustrowania

// koncepcja dziedziczenia

// klasa bazowa

klasa rowerowa {

// klasa Rower ma dwa pola

wyposażenie publiczne;

publiczna prędkość wewnętrzna;

// klasa Rower ma jednego konstruktora

Rower publiczny (przekładnia wewnętrzna, prędkość wewnętrzna)

{

this.gear = bieg;

this.speed = prędkość;

}

// klasa Rower ma trzy metody

public void zastosujBrake(int dekrementacja)

{

prędkość -= spadek;

}

public void speedUp (przyrost int)

{

prędkość += przyrost;

}

// metoda toString() do drukowania informacji o Rowerze

public String toString()

{

return („Liczba biegów to ” + bieg + „\n”

+ „prędkość roweru to” + prędkość);

}

}

// Klasy pochodnej

klasa MountainBike rozszerza Rower {

// podklasa MountainBike dodaje jeszcze jedno pole

wysokość siedziska publicznego;

// podklasa MountainBike ma jeden konstruktor

publiczny rower górski (przekładnia wewnętrzna, prędkość wewnętrzna,

int startWysokość)

{

// wywoływanie konstruktora base-class(rower)

super(bieg, prędkość);

wysokość siedziska = wysokość startu;

}

// podklasa MountainBike dodaje jeszcze jedną metodę

public void setHeight(int newValue)

{

wysokość siedziska = nowa wartość;

}

// nadpisanie metody toString()

// Rower, aby wydrukować więcej informacji

@Zastąp publiczny ciąg znaków toString()

{

return (super.toString() + „\nwysokość siedziska to”

+ wysokość siedziska);

}

}

// klasa kierowcy

Test klasy publicznej {

public static void main(String args[])

{

MountainBike mb = nowy MountainBike (3, 100, 25);

System.out.println(mb.toString());

}

}

Wyjście :

Liczba biegów to 3

prędkość roweru to 100

wysokość siedziska to 25

Terminy używane w dziedziczeniu

  • Klasa : klasa to grupa obiektów, które mają wspólne właściwości. To jak instrukcja obsługi lub schemat, z którego tworzone są inne poszczególne jednostki.
  • Klasa podrzędna/klasa podrzędna : podklasa to klasa, która dziedziczy drugą klasę. Jest również nazywany klasą pochodną, ​​klasą rozszerzoną lub klasą podrzędną.
  • Superklasa/klasa nadrzędna : Superklasa to klasa, z której podklasa dziedziczy cechy. Nazywana jest również klasą bazową lub klasą nadrzędną.
  • Ponowne użycie : Ponowne użycie jest kluczową zasadą projektowania w programowaniu obiektowym. Oznacza to, że możesz ponownie wykorzystać pola i metody z istniejących klas podczas tworzenia nowych, zamiast powtarzać się za każdym razem z indywidualnym kodowaniem.

Popularne kursy i artykuły na temat inżynierii oprogramowania

Popularne programy
Program Executive PG w tworzeniu oprogramowania - IIIT B Program certyfikacji Blockchain - PURDUE Program Certyfikatów Cyberbezpieczeństwa - PURDUE MSC w informatyce - IIIT B
Inne popularne artykuły
Wynagrodzenie Cloud Engineer w USA 2021-22 Wynagrodzenie architekta rozwiązań AWS w USA Wynagrodzenie programisty zaplecza w USA Wynagrodzenie programisty front-end w USA
Wynagrodzenie programisty w USA Pytania do rozmowy kwalifikacyjnej Scrum Master w 2022 r. Jak rozpocząć karierę w cyberbezpieczeństwie w 2022 roku? Opcje kariery w USA dla studentów inżynierii

Rodzaje dziedziczenia Java

1. Pojedyncze dziedziczenie

Pojedyncze dziedziczenie oznacza, że ​​jedna klasa rozszerza inną lub implementuje kilka interfejsów jednocześnie z tym samym lub niemodyfikatorem dostępu, tj. publicznym lub prywatnym. Utworzona podklasa dziedziczy wszystkie funkcje składowe i składowe danych ze swojej bazy/nadklasy, z wyjątkiem tych zadeklarowanych jako prywatne, a dostęp do tych członków mogą uzyskać członkowie i przyjaciele podklasy.

Zapoznaj się z poniższym przykładem:

Wejście:

// Program Java do zilustrowania

// koncepcja pojedynczego dziedziczenia

importować java.io.*;

import java.lang.*;

import java.util.*;

klasa pierwsza {

public void print_A()

{

System.out.println("A");

}

}

klasa druga rozszerza pierwszą {

public void print_for() { System.out.println("dla"); }

}

// Klasa kierowcy

klasa publiczna Główna {

public static void main(String[] args)

{

dwa g = nowe dwa();

g.drukuj_A();

g.drukuj_dla();

g.print_Apple();

}

}

Wyjście :

A

Do

Jabłko

2. Dziedziczenie wielopoziomowe

Dziedziczenie wielopoziomowe to takie, w którym istnieje łańcuch dziedziczenia. ■ W Javie klasa pochodna nie ma bezpośredniego dostępu do członków dziadków. Kiedy masz hierarchię dziedziczenia, taką jak ta, w której każdy nowy poziom dziedziczy po innej osobie lub rzeczy przed nimi (lub odwrotnie), staje się to trudne dla dowolnego obiektu w dowolnej grupie, ponieważ mogą oni używać tylko tego, co jest dostępne w ich własnych odpowiednich poziomy; dlatego debugowanie jest bardziej nużące niż to konieczne!

Wejście:

// Program Java do zilustrowania

// koncepcja dziedziczenia wielopoziomowego

importować java.io.*;

import java.lang.*;

import java.util.*;

klasa pierwsza {

public void print_Dziedziczenie()

{

System.out.println(„Dziedziczenie”);

}

}

klasa druga rozszerza pierwszą {

public void print_in() { System.out.println("w"); }

}

klasa trzecia rozszerza dwa {

public void print_Dziedziczenie()

{

System.out.println(„Java”);

}

}

// Klasy pochodnej

klasa publiczna Główna {

public static void main(String[] args)

{

trzy g = nowe trzy();

g.print_Dziedziczenie();

g.print_in();

g.print_Java();

}

}

Wyjście :

Dziedzictwo

W

Jawa

3. Dziedziczenie hierarchiczne

Dwie klasy w hierarchii mogą dziedziczyć po sobie. Na przykład, jeśli pies i kot należą do kategorii Zwierzę, nastąpi hierarchiczne dziedziczenie, w której będą potomkami tej klasy.

Wejście:

klasa zwierzę {

void jeść(){System.out.println(„jeść…”);}

}

klasa Pies rozszerza Zwierzę{

void bark(){System.out.println("szczekanie...");}

}

klasa Kot rozszerza Zwierzę{

void miau(){System.out.println("miauczenie...");}

}

class TestDziedziczenie3{

public static void main(String args[]){

Kot c=nowy Kot();

c.miau();

jedz();

//c.kora();//CTError

}}

Wyjście :

miauczenie…

jedzenie…

4. Wielokrotne dziedziczenie (poprzez interfejsy)

Java nie obsługuje wielokrotnego dziedziczenia z klasami, ale można je osiągnąć za pomocą interfejsów. Na poniższym obrazku klasa C wywodzi się zarówno z A, jak i B, co oznacza, że ​​mają one wspólne cechy, a dla innych mają różne implementacje, w zależności od ich konkretnych potrzeb w zakresie wykonywania kodu lub realizacji metod wymaganych przez użytkowników (i).

Wejście:

// Program Java do zilustrowania

// koncepcja dziedziczenia wielokrotnego

importować java.io.*;

import java.lang.*;

import java.util.*;

interfejs pierwszy {

public void print_eye();

}

interfejs drugi {

public void print_for();

}

interfejs trzy rozszerza jeden, dwa {

public void print_eye();

}

class child implementuje trzy {

@Zastąp publiczne nieważne print_eye()

{

System.out.println("Oko");

}

public void print_for() { System.out.println("dla"); }

}

// Klasy pochodnej

klasa publiczna Główna {

public static void main(String[] args)

{

dziecko c = nowe dziecko();

c.druk_oko();

c.drukuj_dla();

c.druk_oko();

}

}

Wyjście :

Oko

dla

Oko

5. Dziedziczenie hybrydowe (poprzez interfejsy)

Dziedziczenie hybrydowe to rodzaj programowania, który pozwala nam mieszać dwa lub więcej typów. Klasy nie mogą tego zrobić samodzielnie, ponieważ mają tylko jeden zestaw metod, co oznacza, że ​​potrzebujemy innego obiektu, aby wszystko działało poprawnie, ale interfejsy zapewniają spokój ducha, pozwalając wiedzieć, jak będzie wyglądał Twój program, zanim zostanie napisany jakikolwiek kod !

Wejście

(Odniesienie)

Klasy A i B rozszerzają klasę C → Dziedziczenie hierarchiczne

Klasa D rozszerza klasę A → Pojedyncze dziedziczenie

klasa C

{

public void disp()

{

System.out.println(„C”);

}

}

klasa A rozszerza C

{

public void disp()

{

System.out.println("A");

}

}

klasa B rozszerza C

{

public void disp()

{

System.out.println("B");

}

}

klasa D rozszerza A

{

public void disp()

{

System.out.println(„D”);

}

public static void main(String args[]){

D obj = nowy D();

obj.wyśw();

}

}

Wyjście:

D

Jeśli chcesz dowiedzieć się więcej o dziedziczeniu w Javie i innych koncepcjach OOP, polecamy program UPGrad Executive PG w rozwoju oprogramowania z IIIT-Bangalore . 13-miesięczny kurs został zaprojektowany przez światowej klasy specjalistów z branży i wykładowców w celu budowania kompetencji w zakresie ponad 30 narzędzi i oprogramowania. Obejmował ponad 400 godzin treści, ponad 30 studiów przypadków i projektów istotnych dla branży oraz ponad 10 sesji na żywo, które pomogą Ci osiągnąć pożądane wyniki; Kurs oferuje trzy specjalizacje, a mianowicie rozwój pełnego stosu, rozwój zaplecza w chmurze i bezpieczeństwo cybernetyczne.

Zarezerwuj miejsce w programie już dziś!

Jakie są cztery rodzaje dziedziczenia?

Cztery typy dziedziczenia w Javie to: 1. Dziedziczenie hierarchiczne 2. Dziedziczenie hybrydowe 3. Dziedziczenie pojedyncze 4. Dziedziczenie wielopoziomowe

Wyjaśnij polimorfizm w Javie.

Polimorfizm w Javie to koncepcja programowania obiektowego, zgodnie z którą obiekty w programach mogą przybierać różne formy. Dzięki temu pojedynczy obiekt może wykonać tę samą akcję na wiele sposobów.

Wyjaśnij wielowątkowość w Javie.

Wielowątkowość w Javie to funkcja, dzięki której wiele części (każda zwana wątkiem) programu może być wykonywanych jednocześnie, aby umożliwić optymalne wykorzystanie procesora.