Jak zaimplementować wielokrotne dziedziczenie w Javie?



Ten artykuł pomoże Ci zaimplementować wielokrotne dziedziczenie w Javie za pośrednictwem interfejsów, a następnie zaprezentuje programową demonstrację.

Ten artykuł pomoże Ci wdrożyć koncepcję, która w innym przypadku nie byłaby możliwa do zaimplementowania w Javie. Mam na myśli Wiele . Poniższe wskazówki zostaną poruszone w tym artykule,

Zacznijmy więc od tego artykułu Multiple Inheritance in Java,





Dziedziczenie wielokrotne w Javie

Programowanie obiektowe zapewnia użytkownikowi możliwość dziedziczenia wielokrotnego, przy czym klasa może dziedziczyć właściwości więcej niż jednej klasy nadrzędnej. Mówiąc prościej, dziedziczenie wielokrotne oznacza klasę rozszerzającą więcej niż jedną klasę.

Język programowania java nie może bezpośrednio korzystać z tej funkcji. Można to osiągnąć pośrednio poprzez użycie interfejsów.



Przechodząc do tego artykułu Multiple Inheritance in Java,

Przykładowy program

W poniższym przykładzie mamy dwa interfejsy: motocykl i rower. Interfejs motocyklowy składa się z atrybutu prędkości. Metoda to totalDistance (). Interfejs cyklu składa się z atrybutu distance () i metody speed ().

Oba te interfejsy są implementowane przez klasę TwoWheeler.



interfejs Motocykl {int speed = 50 public void totalDistance ()} interface Cycle {int distance = 150 public void speed ()} public class TwoWheeler implementuje MotorBike, Cycle {int totalDistance int avgSpeed ​​public void totalDistance () {totalDistance = speed * distance System .out.println ('Całkowity przejechany dystans:' + totalDistance)} public void speed () {int avgSpeed ​​= totalDistance / speed System.out.println ('Utrzymana średnia prędkość:' + avgSpeed)} public static void main (String args []) {TwoWheeler t1 = new TwoWheeler () t1.totalDistance () t1.speed ()}}

Wynik

Całkowita przebyta odległość: 7500

Utrzymana średnia prędkość: 150

Program podany powyżej unika niejednoznaczności, nawet jeśli zamiast interfejsów używane są klasy. Jednak Java go nie obsługuje. Gdy obie klasy zawierają tę samą metodę, kompilator nie może zdecydować, która metoda ma zostać wywołana. Korzystanie z interfejsu pozwala uniknąć tej niejednoznaczności, ponieważ metody interfejsu są domyślnie abstrakcyjne.

długość javascript tablicy

Przechodząc do tego artykułu Multiple Inheritance in Java,

Dziedziczenie wielokrotne bez niejednoznaczności

interface InterfaceOne {public void disp ()} interface InterfaceTwo {public void disp ()} public class Główne implementacje InterfaceOne, InterfaceTwo {@Override public void disp () {System.out.println ('display () method Implementation')} public static void main (String args []) {Main m = new Main () m.disp ()}}

Wynik

implementacja metody display ()

Metoda Main implementuje oba interfejsy, tj. InterfaceOne i InterfaceTwo. Wykonuje się bez żadnej dwuznaczności.

Spójrzmy na inny przykład, aby lepiej zrozumieć dziedziczenie wielokrotne:

interfejs Sing

{

default void singRock () {

System.out.println („śpiewam rock”)

}

}

interfejs Dance

{

default void danceSlow () {

System.out.println („Tańczę wolno!”)

}

}

klasa publiczna Człowiek wykonuje Śpiewaj, tańcz

{

public static void main (String [] args)

{

Człowiek h = nowy Człowiek ()

h.singRock ()

h.danceSlow ()

}

jak zadeklarować tablicę dynamiczną w java

}

Wynik

Śpiewam rocka

Tańczę powoli!

W ten sposób wielokrotne dziedziczenie można osiągnąć za pomocą metod omówionych w tym artykule.

W ten sposób doszliśmy do końca artykułu „Dziedziczenie wielokrotne w Javie”. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online. Szkolenie i certyfikacja J2EE i SOA firmy Edureka ma na celu przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a skontaktujemy się z Tobą tak szybko, jak to możliwe.