Różnica między osprzętem a przedłużeniami

Różnica między osprzętem a przedłużeniami
Różnica między osprzętem a przedłużeniami

Wideo: Różnica między osprzętem a przedłużeniami

Wideo: Różnica między osprzętem a przedłużeniami
Wideo: SZKOŁA ODC. 39 CZ. 2 2024, Lipiec
Anonim

Wdrożenia a rozszerzenia

Implementy i rozszerzenia to dwa słowa kluczowe występujące w języku programowania Java, które umożliwiają przeniesienie dodatkowej funkcjonalności do nowej klasy. Słowo kluczowe Implements jest używane jawnie do implementacji interfejsu, natomiast słowo kluczowe Extends służy do dziedziczenia z (super) klasy. Należy pamiętać, że koncepcje dziedziczenia i interfejsów są obecne w większości innych języków programowania obiektowego, takich jak C i VB. NET, ale oferują one inną składnię lub słowa kluczowe do zastosowania tych koncepcji. Ten artykuł skupia się tylko na słowach kluczowych Implements i Extends zdefiniowanych w Javie.

Rozszerza

Słowo kluczowe Extends służy do implementacji koncepcji dziedziczenia w języku programowania Java. Dziedziczenie zasadniczo zapewnia ponowne wykorzystanie kodu, umożliwiając rozszerzenie właściwości i zachowania istniejącej klasy o nowo zdefiniowaną klasę. Kiedy nowa podklasa (lub klasa pochodna) rozszerza superklasę (lub klasę nadrzędną), ta podklasa odziedziczy wszystkie atrybuty i metody superklasy. Podklasa może opcjonalnie przesłonić zachowanie (zapewnić nową lub rozszerzoną funkcjonalność metodom) odziedziczone z klasy nadrzędnej. Podklasa nie może rozszerzać wielu superklas w Javie. Dlatego nie można używać rozszerzeń do wielokrotnego dziedziczenia. Aby mieć wielokrotne dziedziczenie, musisz użyć interfejsów, jak wyjaśniono poniżej.

Wdrożenia

Słowo kluczowe Implements w języku programowania Java służy do implementacji interfejsu przez klasę. Interfejs w Javie jest typem abstrakcyjnym używanym do określenia kontraktu, który powinien być zaimplementowany przez klasy, które implementują ten interfejs. Zwykle interfejs zawiera tylko sygnatury metod i deklaracje stałych. Każdy interfejs, który implementuje określony interfejs, powinien implementować wszystkie metody zdefiniowane w interfejsie lub powinien być zadeklarowany jako klasa abstrakcyjna. W Javie typ odwołania do obiektu można zdefiniować jako typ interfejsu. Ale ten obiekt musi być null lub powinien zawierać obiekt klasy, która implementuje ten konkretny interfejs. Używając słowa kluczowego Implements w Javie, możesz zaimplementować wiele interfejsów do jednej klasy. Interfejs nie może implementować innego interfejsu. Jednak interfejs może rozszerzyć klasę.

Różnica między osprzętem a przedłużeniami

Chociaż implementacje i rozszerzenia to dwa słowa kluczowe, które zapewniają mechanizm dziedziczenia atrybutów i zachowania do klasy w języku programowania Java, są one używane do dwóch różnych celów. Słowo kluczowe Implements służy do implementacji przez klasę określonego interfejsu, podczas gdy słowo kluczowe Extends jest używane dla podklasy, która ma zostać rozszerzona z superklasy. Kiedy klasa implementuje interfejs, ta klasa musi zaimplementować wszystkie metody zdefiniowane w interfejsie, ale gdy podklasa rozszerza superklasę, może, ale nie musi, przesłonić metody zawarte w klasie nadrzędnej. Na koniec kolejna kluczowa różnica między implementami i rozszerzeniami polega na tym, że klasa może implementować wiele interfejsów, ale może rozszerzać się tylko z jednej superklasy w Javie. Ogólnie rzecz biorąc, korzystanie z narzędzi (interfejsów) jest uważane za korzystniejsze w porównaniu do korzystania z rozszerzeń (dziedziczenie), z kilku powodów, takich jak większa elastyczność i możliwość zminimalizowania sprzężenia. Dlatego w praktyce programowanie do interfejsu jest preferowane niż rozszerzanie z klas bazowych.

Zalecana: