Diferența dintre implementări și extensii

Anonim

Implemente vs Extends

Implemente și Extends sunt două cuvinte cheie găsite în limbajul de programare Java care oferă un mijloc de transfer al funcționalității adăugate unei noi clase. Cuvinte cheie implements este folosit explicit pentru implementarea unei interfețe, în timp ce cuvântul cheie Extends este folosit pentru a moșteni dintr-o clasă (super). Rețineți că conceptele de moștenire și interfețe sunt prezente în majoritatea celorlalte limbi de programare orientate spre obiect, cum ar fi C # și VB. NET, dar oferă 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

Extinde cuvântul cheie este folosit pentru a implementa conceptul de moștenire în limbajul de programare Java. Moștenirea oferă în mod esențial reutilizarea codului, permițând extinderea proprietăților și a comportamentului unei clase existente printr-o clasă nou definită. Atunci când o nouă subclasă (sau o clasă derivată) extinde o clasă super (sau o clasă parentală), această subclasă va moșteni toate atributele și metodele clasei super. Subclasa poate suprascrie opțional comportamentul (oferă funcționalități noi sau extinse la metode) moștenit de la clasa parentală. O subclasă nu poate extinde mai multe clase super în Java. Prin urmare, nu se poate extinde pentru moștenire multiplă. Pentru a avea mai multe moșteniri, trebuie să utilizați interfețele așa cum este explicat mai jos.

Implementează

Implementează cuvântul cheie în limbajul de programare Java este folosit pentru implementarea unei interfețe de către o clasă. O interfață în Java este un tip abstract care este folosit pentru a specifica un contract care ar trebui implementat de clase care implementează acea interfață. De obicei, o interfață va conține numai semnături de metode și declarații constante. Orice interfață care implementează o anumită interfață ar trebui să implementeze toate metodele definite în interfață sau ar trebui declarată ca o clasă abstractă. În Java, tipul de referință al unui obiect poate fi definit ca un tip de interfață. Dar acel obiect trebuie fie să fie nul sau trebuie să dețină un obiect al unei clase, care implementează interfața respectivă. Cu ajutorul cuvântului cheie Implements î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 Implemente și extensii sunt două cuvinte cheie care oferă un mecanism de moștenire a atributelor și comportamentului unei clase în limbajul de programare Java, ele sunt utilizate în două scopuri diferite. Cuvinte cheie implements este folosit pentru o clasă pentru a implementa o anumită interfață, în timp ce cuvântul cheie Extends este utilizat pentru ca o subclasă să se extindă dintr-o clasă super. 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 clasă super, ea poate sau nu să suprascrie metodele incluse în clasa parentală.În cele din urmă, o altă diferență cheie între Implements și Extends este aceea că o clasă poate implementa mai multe interfețe, dar se poate extinde numai dintr-o clasă super în Java. În general, utilizarea Implementelor (interfețelor) este considerată mai favorabilă în comparație cu utilizarea Extends (moștenire), din mai multe motive cum ar fi flexibilitatea mai mare și capacitatea de a minimiza cuplarea. Prin urmare, în practică, programarea la o interfață este preferată în comparație cu extinderea din clasele de bază.