Różnica Między Narzędziami A Rozszerzeniami

Różnica Między Narzędziami A Rozszerzeniami
Różnica Między Narzędziami A Rozszerzeniami

Wideo: Różnica Między Narzędziami A Rozszerzeniami

Wideo: Różnica Między Narzędziami A Rozszerzeniami
Wideo: 1 Różnica między cyfrą a liczbą + zadanie 2024, Może
Anonim

Implementuje vs rozszerza

Implements i Extends 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, podczas gdy słowo kluczowe Extends jest używane 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. W tym artykule skupiono się tylko na implementacji i rozszerzaniu słów kluczowych zdefiniowanych w języku Java.

Rozciąga się

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ę. Gdy 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 dziedziczenia wielokrotnego. Aby mieć wielokrotne dziedziczenie, musisz używać interfejsów, jak wyjaśniono poniżej.

Przybory

Słowo kluczowe Implements w języku programowania Java jest używane do implementacji interfejsu przez klasę. Interfejs w Javie jest typem abstrakcyjnym używanym do określenia kontraktu, który powinien być implementowany przez klasy implementujące ten interfejs. Zwykle interfejs zawiera tylko sygnatury metod i stałe deklaracje. 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 albo mieć wartość null, albo 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 w jednej klasie. Interfejs nie może implementować innego interfejsu. Jednak interfejs może rozszerzyć klasę.

Różnica między narzędziami i rozszerzeniami

Chociaż Implements i Extends to dwa słowa kluczowe, które zapewniają mechanizm dziedziczenia atrybutów i zachowania do klasy w języku programowania Java, są używane do dwóch różnych celów. Słowo kluczowe Implements jest używane dla klasy w celu zaimplementowania określonego interfejsu, podczas gdy słowo kluczowe Extends jest używane dla podklasy do rozszerzenia z superklasy. Kiedy klasa implementuje interfejs, ta klasa musi implementować wszystkie metody zdefiniowane w interfejsie, ale kiedy podklasa rozszerza superklasę, może, ale nie musi, przesłonić metody zawarte w klasie nadrzędnej. Wreszcie kolejną kluczową różnicą między Implements i Extends jest to, że klasa może implementować wiele interfejsów, ale może rozszerzać się tylko z jednej superklasy w Javie. Ogólnie rzecz biorąc, użycie implementacji (interfejsów) jest uważane za korzystniejsze niż użycie 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 zamiast rozszerzania klas podstawowych.

Zalecane: