Jaka jest różnica między rozszerzeniami a implementacjami w Javie

Jaka Jest Roznica Miedzy Rozszerzeniami A Implementacjami W Javie



W Javie „ rozciąga się ' I ' przybory ” słowa kluczowe są niezbędne do skutecznej integracji wielu funkcji. Na przykład odpowiednio przejęcie przydzielonych już funkcjonalności w celu ich aktualizacji lub uporządkowanie danych w odpowiedni sposób. W takich przypadkach słowa kluczowe „rozszerza” i „implementuje” są pomocne w zapewnieniu wygody programiście i efektywnemu zarządzaniu zasobami.

Ten blog podkreśli różnice między „rozszerzeniem” a „wdrożeniem” Javy.







Java „rozszerza” słowo kluczowe

Jawa” rozciąga się ” słowo kluczowe jest używane przez klasę potomną, tj. „ pochodny ”, aby odziedziczyć klasę nadrzędną, tj. „ baza ” poprzez dostęp do jego funkcji.



Składnia



klasa A {
// ciało
}
klasa B rozszerza A {
// ciało
}





W tej składni „ B ” odpowiada klasie potomnej dziedziczącej klasę nadrzędną „ A ' za pośrednictwem ' rozciąga się słowo kluczowe.

Przykład 1: Wykorzystanie słowa kluczowego „extends” w Javie



W tym przykładzie zastosowano „ rozciąga się ” słowo kluczowe do dziedziczenia elementu nadrzędnego, tj. „ baza ' klasa:

klasa Klasa nadrzędna {
Ciąg x = 'Włosy' ;
}
klasa childclass rozszerza klasę nadrzędną {
publiczny konkat łańcucha ( ) {
powrót x.kontakt ( „ry” ) ;
} }
Klasa publiczna Rozszerza {
public static void main ( Argumenty łańcuchowe [ ] ) {
obiekt klasy potomnej = nowa klasa potomna ( ) ;
System.out.println ( obiekt.concat ( ) ) ;
} }

Zgodnie z powyższym fragmentem kodu zastosuj następujące kroki:

  • Najpierw zadeklaruj klasę nadrzędną o nazwie „ Klasa nadrzędna ”.
  • W swojej definicji zainicjuj podaną zmienną.
  • Teraz odziedzicz klasę potomną z klasy nadrzędnej poprzez „ rozciąga się słowo kluczowe.
  • W definicji klasy potomnej zdefiniuj funkcję o nazwie „ konkat() ”.
  • W definicji funkcji wywołaj zmienną z klasy nadrzędnej i dołącz podany ciąg poprzez powiązany „ konkat() ' metoda.
  • W ' główny() ”, utwórz obiekt klasy potomnej, używając metody „ nowy ” słowo kluczowe i „ klasa potomna() ” konstruktor.
  • Na koniec wywołaj funkcję klasy potomnej „ konkat() ” poprzez utworzony obiekt.

Wyjście

Na tym wyjściu można zwizualizować, że funkcjonalność klasy nadrzędnej, tj. „ zmienna(x) ” jest odpowiednio dziedziczone za pomocą słowa kluczowego „extends”, więc łańcuch jest odpowiednio łączony.

Java „implementuje” Słowo kluczowe

przybory Słowo kluczowe ” jest stosowane do implementacji interfejsu w klasie z tego samego lub zewnętrznego pliku.

Składnia

interfejs publiczny nazwa_interfejsu {
pustka x ( ) ;
domyślnie nieważne y ( ) {
// ciało
}
}
klasa z implementuje nazwę interfejsu {
// korpus klasowy
}

W tej składni:

  • X ” odnosi się do metody abstrakcyjnej.
  • I ” wskazuje metodę domyślną.
  • klasa z ” odpowiada klasie, która implementuje „ NazwaInterfejsu ” przez „ przybory słowo kluczowe.

Przykład 2: Wykorzystanie słowa kluczowego „implements” w Javie

W tym konkretnym przykładzie interfejs zawierający „ abstrakcyjny ' I ' domyślny ” można zaimplementować w klasie.

Kod interfejsu

wiek interfejsu publicznego {
pusta nazwa publiczna ( ) ;
domyślnie nieważny DOB ( ) {
System.out.println ( „DOB -> 28.08.1999” ) ;
} }

W powyższym kodzie interfejsu umieść metodę abstrakcyjną o nazwie „ nazwa() ” i zdefiniuj domyślną metodę „ DOB() ” drukując odpowiednio podany komunikat.

Kod klasowy

Teraz przejdź do następujących linii kodu:

próbka klasy implementuje wiek {
pusta nazwa publiczna ( ) {
System.out.println ( „Imię -> Dawid” ) ;
} }
interfejs klasy publicznej2 {
public static void main ( Argumenty łańcuchowe [ ] ) {
przykładowy obiekt = nowa próbka ( ) ;
obiekt.nazwa ( ) ;
obiekt.DOB ( ) ;
} }

W tym bloku kodu:

  • Zdefiniuj klasę o nazwie „ próbka „implementacja interfejsu” wiek ' za pośrednictwem ' przybory słowo kluczowe.
  • W definicji (klasy) zdefiniuj metodę abstrakcyjną „ nazwa() ” określony w interfejsie wyświetlającym podaną nazwę.
  • W ' główny() ”, utwórz obiekt klasy za pomocą omówionego podejścia.
  • Na koniec wywołaj metody abstract i default, używając odpowiednio utworzonego obiektu.

Wyjście

Ten wynik implikuje, że metoda domyślna jest wywoływana, a metoda abstrakcyjna jest odpowiednio stosowana w oparciu o zaimplementowany interfejs.

Podstawowe różnice między „rozszerzeniem” a „implementacją” w Javie

Poniżej przedstawiono niektóre podstawowe różnice między słowami kluczowymi „extends” i „implements” w Javie:

rozciąga się przybory
To słowo kluczowe może być używane przez klasę do dziedziczenia jej klasy nadrzędnej lub interfejsu do dziedziczenia innych interfejsów. Klasa może zaimplementować interfejs za pomocą słowa kluczowego „implements”.
Tylko jedna klasa nadrzędna może być rozszerzona o klasę. Klasa może implementować/stosować wiele interfejsów jednocześnie.
Nie jest obowiązkowe, aby klasa potomna, która rozszerza klasę nadrzędną, przesłoniła wszystkie metody w klasie nadrzędnej. Obowiązkowe jest, aby klasa implementująca interfejs implementowała/stosowała również wszystkie metody interfejsu.

Wniosek

rozciąga się ” słowo kluczowe może być używane przez klasę lub interfejs do dziedziczenia klasy nadrzędnej lub innych interfejsów, podczas gdy „ przybory Słowo kluczowe ” jest używane przez klasę do implementacji interfejsu. Ten blog pokazał różnice między „rozszerzeniem” a „implementacją” w Javie za pomocą praktycznych przykładów.