Rodzaje dziedziczenia w Javie | Wyjaśnione

Rodzaje dziedziczenia w Javie | Wyjaśnione
Jedną z kluczowych koncepcji programowania Java zorientowanego na obiekt jest Dziedzictwo co pozwala klasie nabywać atrybuty klasy i funkcje członków innych klas za pomocą słowa kluczowego rozszerza. W Javie istnieje kilka rodzajów spadków, takich jak pojedyncze, wielopoziomowe i hierarchiczne, które można użyć w oparciu o różne okoliczności. W przeciwieństwie do niektórych innych języków programowania, takich jak C ++, Java nie obsługuje koncepcji wielu dziedziczeń, aby uniknąć dwuznaczności.

Ten zapis zawiera szczegółowy przegląd następujących koncepcji dotyczących typów dziedziczenia w Javie:

  • Pojedyncze dziedzictwo w Javie
  • Hierarchiczne dziedzictwo w Javie
  • Dziedzictwo wielopoziomowe w Javie
  • Podstawowa składnia pojedynczego, wielopoziomowego i hierarchicznego dziedziczenia w Javie
  • Jak używać pojedynczego, wielopoziomowego i hierarchicznego dziedziczenia w Javie

Więc zacznijmy!

Pojedyncze dziedzictwo

W przypadku pojedynczego dziedziczenia istnieje tylko jedna klasa nadrzędna i jedna klasa dziecięca, a klasa dziecięca może uzyskać dostęp do atrybutów i funkcji klasy nadrzędnej. Musimy zająć się atrybutami klasowymi i metodami klasowymi, aby nie było konfliktu między członkami klasy rodzica i dzieci.

Składnia

Podstawowa składnia pojedynczego dziedziczenia będzie taka:

rodzic klasy publicznej
// atrybuty klas
// Funkcje członków

Klasa publiczna Dziecko rozszerza rodzica
// atrybuty klas
// Funkcje członków

rozszerza Słowo kluczowe wskazuje, że właściwości Klasa rodziców są dziedziczone do Klasa dzieci.

Poniższa postać zapewni lepsze zrozumienie pojedynczego dziedziczenia:

Istnieją tylko dwie klasy:

Klasa dzieci: Może odziedziczyć wszystkie atrybuty i metody Klasa rodziców I nie ma podklasy.

Klasa rodziców: To nadklasa odziedziczona przez Klasa dzieci.

Przykład

W poniższym fragmencie kodu tworzymy trzy klasy: a Osoba Klasa rozszerzona o Student klasa i „Javainheritance„Klasa, w której tworzymy główny metoda:

Osoba klasowa
chroniony int osobisty = 25;
chroniony string personName = "John";
public void display ()
System.na zewnątrz.println („to jest klasa osoby”);


Klasa uczeń rozszerza osobę
chroniony int rollno = 13;

Klasa publiczna Javainheritance
public static void main (string [] args)
Student std = nowy student ();
Std.wyświetlacz();
System.na zewnątrz.println („Roll studencka nr. = " + std.Rollno);
System.na zewnątrz.println („nazwa studenta =” + std.imię osoby);
System.na zewnątrz.println („student wiek =” + std.osobistość);

Poniższy rysunek pokazuje pełny kod wraz z wyjściem:

Na powyższym rysunku nazywana jest metodą klasy osoby z przedmiotem klasy uczniów, a wyjście pokazuje, że działa poprawnie.

Hierarchiczne dziedzictwo

Wiele klas można rozszerzyć z jednej klasy w hierarchicznym dziedziczeniu I.mi. Rodzic może mieć wiele zajęć dzieci.

Podstawowa składnia hierarchicznego dziedziczenia jest pokazana w fragmencie poniżej podanego poniżej

rodzic klasy publicznej
// atrybuty klas
// Funkcje członków

Klasa publiczna Child1 rozszerza rodzica
// atrybuty klas
// Funkcje członków

Klasa publiczna Child2 rozszerza rodzica
// atrybuty klas
// Funkcje członków

Powyższy fragment pokazuje, że obie pochodne klasy i.mi. Dziecko1 I Dziecko2 może odziedziczyć właściwości Rodzic klasa.

Poniższa rysunek pokazuje przepływ hierarchicznego dziedziczenia:

Przykład

Osoba klasowa
chroniony string personName = "John";

Klasa uczeń rozszerza osobę
chroniony int rollno = 13;

Pracownik klasy rozszerza osobę
chroniony int empid = 2;

Klasa publiczna Javainheritance
public static void main (string [] args)
Student std = nowy student ();
System.na zewnątrz.println („Roll studencka nr. = " + std.Rollno);
System.na zewnątrz.println („nazwa studenta =” + std.imię osoby);
Pracownik emp = nowy pracownik ();
System.na zewnątrz.println („pracownik id =” + emp.empid);
System.na zewnątrz.println („nazwa pracownika =” + emp.imię osoby);

Z powyższego fragmentu możemy zauważyć, że oba Pracownik I Student Zajęcia są dziedziczone przez Osoba Klasa. Najpierw musimy utworzyć obiekty obu klas indywidualnie, wówczas ich odpowiednie atrybuty można uzyskać za pośrednictwem ich obiektów.

Pełny kod i wynikowe wyjście pokazano na poniższym rysunku:

Powyższy zrzut ekranu pokazuje, że obie klasy uzyskały dostęp do atrybutów Osoba klasa, która uwierzytelnia działanie hierarchicznego dziedziczenia.

Dziedziczenie wielopoziomowe

W dziedziczeniu wielopoziomowym dziedzictwo jest wykonywane na podstawie poziomu, i.mi. klasa może odziedziczyć właściwości innej klasy, która jest już odziedziczona po innej klasie.

Składnia

Podstawowa składnia dziedziczenia wielopoziomowego pokazano w fragmencie poniżej podania:

rodzic klasy publicznej
// atrybuty klas
// Funkcje członków

Klasa publiczna Child1 rozszerza rodzica
// atrybuty klas
// Funkcje członków

Klasa publiczna Child2 rozszerza Child1
// atrybuty klas
// Funkcje członków

Poniżej podana liczba zapewni głębokie zrozumienie dziedziczenia wielopoziomowego:

Na powyższej figurze, Dziecko1 Klasa jest klasą pochodną Rodzic Klasa i Dziecko2 klasa jest klasą pochodną Dziecko1. Możemy więc powiedzieć, że Dziecko2 klasa jest wnukiem Rodzic klasa. W ten sposób dziedzictwo wielopoziomowe działa w Javie.

Przykład

Ten przykład tworzy cztery klasy: pierwszy to „Osoba„Klasa druga to”Student„Klasa, która dziedziczy„Osoba„Klasa i trzecia to„Dział„Klasa, która dziedziczy„Student" klasa. Czwarta klasa jest „Javainheritance” To ma główną metodę:

Osoba klasowa
chroniony int osobisty = 25;
chroniony string personName = "John";
public void display ()
System.na zewnątrz.println („to jest klasa osoby”);


Klasa uczeń rozszerza osobę
chroniony int rollno = 13;

Departament klas rozszerza ucznia
Protected String Dept = "Computer Science";

Klasa publiczna Javainheritance
public static void main (string [] args)
Department Dep = nowy dział ();
Dep.wyświetlacz();
System.na zewnątrz.println („Roll studencka nr. = " + DEP.Rollno);
System.na zewnątrz.println („Nazwa studenta =” + DEP.imię osoby);
System.na zewnątrz.println („Student Age =” + DEP.osobistość);
System.na zewnątrz.println („Wydział studencki =” + DEP.Dept);

W powyższym fragmencie możemy zauważyć, że podklasa Student klasy Osoba ma klasę dziecka Dział co zapewnia, że ​​jest to przykład dziedziczenia wielopoziomowego. Poniższa rysunek przedstawia pełny kod i odpowiednie wyjście dziedziczenia wielopoziomowego:

Powyższe dane wyjściowe uwierzytelnia się, że Dział klasa może uzyskać dostęp do atrybutów Osoba Klasa Student klasa. Który potwierdza działanie dziedziczenia wielopoziomowego.

Wniosek

Java zapewnia różne rodzaje dziedziczenia, które mogą być używane do różnych celów w zależności od różnych scenariuszy i potrzeb użytkownika, w pojedynczym dziedzictwie tylko jedna klasa jest rozszerzona z nadklasy. W hierarchicznym dziedziczeniu nadklasa może mieć wiele podklas. Podczas gdy w dziedzictwie wielopoziomowym podklasa klasy macierzystej może również mieć klasę dziecka. Ten zapis przedstawia dokładny przegląd typów dziedziczenia i przedstawia głębokie zrozumienie pojedynczego, wielopoziomowego i hierarchicznego dziedziczenia, ich składni i sposobu ich wdrożenia w Javie.