Implementarea VS Extensie
Implementările și extensiile sunt două cuvinte cheie găsite în limba de programare Java și care oferă un mijloc de transferare a funcționalității agregate la o nouă clasă. Cuvântul cheie de implementare este utilizat în mod explicit pentru a implementa o interfață, în timp ce cuvântul cheie se extinde este utilizat pentru a moșteni dintr-o clasă (super). Rețineți că conceptele de patrimoniu și interfețe sunt prezente în majoritatea celorlalte limbi de programare orientate către obiecte precum C # și VB.net, dar oferă o sintaxă sau cuvinte cheie diferite pentru a aplica aceste concepte. Acest articol se concentrează numai pe implementarea și extinderea cuvintelor cheie definite în Java.
extinde
Extinderea cuvântului cheie este utilizat pentru a implementa conceptul de moștenire în limba de programare Java. Moștenirea oferă, în esență, reutilizarea codului prin extinderea proprietăților și comportamentului unei clase existente printr-o clasă nou definită. Atunci când o nouă subclasă (sau clasă derivată) extinde o superclassă (sau o clasă primară), acea subclasă va moșteni toate atributele și metodele superclasului. Subclasa poate anula opțional comportamentul (furnizați funcționalitate nouă sau extinsă metodelor) moștenită din clasa principală. O subclasă nu poate extinde mai multe clase Super în Java. Prin urmare, nu puteți utiliza extensii pentru moșteniri multiple. Pentru a avea o moștenire multiplă, trebuie să utilizați interfețe așa cum este explicat mai jos.
Implementarea cuvintelor cheie în limba de programare Java utilizată pentru a implementa o interfață pentru o clasă. O interfață în Java este un tip abstract utilizat pentru a specifica un contract care trebuie implementat de clase, care implementează acea interfață. În general, o interfață va conține numai semnături de metode și declarații constante. Orice interfață care implementează o anumită interfață trebuie să implementeze toate metodele definite în interfață sau trebuie declarată ca o clasă abstractă. În Java, tipul de referință al obiectului poate fi definit ca un tip de interfață. Dar acest obiect trebuie să fie nul sau să conțină un obiect al unei clase, care implementează acea interfață particulară. Utilizând implementarea cuvintelor cheie în Java, puteți implementa mai multe interfețe într-o singură clasă. O interfață nu poate implementa o altă interfață. Cu toate acestea, o interfață poate extinde o clasă.
Diferența dintre implementări și extensii
Deși uneltele și extensiile sunt două cuvinte cheie care oferă un mecanism de a moșteni atributele și comportamentul unei clase în Java Limba de programare, sunt utilizate în două scopuri diferite. Cuvântul cheie de implementare este utilizat pentru o anumită interfață de clasă o anumită interfață, în timp ce cuvântul cheie se extinde este utilizat astfel încât o subclasă să fie extinsă de la o super clasă. Atunci când o clasă implementează o interfață, acea clasă trebuie să implementeze toate metodele definite în interfață, dar când o subclasă extinde o super clasă, poate sau nu să înlocuiască metodele incluse în clasa primară. În cele din urmă, o altă diferență cheie între implementări și extinderea este că o clasă poate implementa mai multe interfețe, dar poate fi extinsă numai dintr-o clasă superioară din Java. În general, utilizarea implementării (interfețele) este considerată mai favorabilă în comparație cu utilizarea extensiilor (moștenire), din mai multe motive, cum ar fi o mai mare flexibilitate și capacitatea de a minimiza cuplarea. Prin urmare, în practică, programarea la o interfață este preferabilă extensiei din clasele de bază.