Implements vs Extends
Implements and Extends er to nøkkelord som finnes i programmeringsspråket Java som gir en måte å overføre ekstra funksjonalitet til en ny klasse. Implements nøkkelord brukes eksplisitt for å implementere et grensesnitt, mens Extends nøkkelord brukes for å arve fra en (super) klasse. Vær oppmerksom på at begrepene arv og grensesnitt finnes i de fleste andre objektorienterte programmeringsspråk som C og VB. NET, men de tilbyr forskjellige syntaks eller nøkkelord for å bruke disse konseptene. Denne artikkelen fokuserer kun på implementerer og utvider søkeord definert i Java.
Forlenger
Extends nøkkelord brukes til å implementere konseptet arv i programmeringsspråket Java. Arv gir i hovedsak kodegjenbruk ved å tillate utvidelse av egenskaper og oppførsel til en eksisterende klasse med en nylig definert klasse. Når en ny underklasse (eller avledet klasse) utvider en superklasse (eller overordnet klasse), vil den underklassen arve alle attributter og metoder til superklassen. Underklassen kan valgfritt overstyre atferden (gi ny eller utvidet funksjonalitet til metoder) som er arvet fra den overordnede klassen. En underklasse kan ikke utvide flere superklasser i Java. Derfor kan du ikke bruke utvidelser for multippel arv. For å ha multippel arv, må du bruke grensesnitt som forklart nedenfor.
Implements
Implements nøkkelord i Java programmeringsspråk brukes for å implementere et grensesnitt av en klasse. Et grensesnitt i Java er en abstrakt type som brukes til å spesifisere en kontrakt som skal implementeres av klasser, som implementerer det grensesnittet. Vanligvis vil et grensesnitt kun inneholde metodesignaturer og konstante erklæringer. Ethvert grensesnitt som implementerer et bestemt grensesnitt bør implementere alle metoder som er definert i grensesnittet, eller bør erklæres som en abstrakt klasse. I Java kan typen til en objektreferanse defineres som en grensesnitttype. Men det objektet må enten være null eller skal inneholde et objekt av en klasse, som implementerer det spesielle grensesnittet. Ved å bruke Implements nøkkelord i Java kan du implementere flere grensesnitt til en enkelt klasse. Et grensesnitt kan ikke implementere et annet grensesnitt. Et grensesnitt kan imidlertid utvide en klasse.
Forskjellen mellom Implementer og Extends
Selv om Implementer og Extends er to nøkkelord som gir en mekanisme for å arve attributter og atferd til en klasse i programmeringsspråket Java, brukes de til to forskjellige formål. Implementer nøkkelord brukes for en klasse for å implementere et bestemt grensesnitt, mens Extends nøkkelord brukes for en underklasse for å utvide fra en superklasse. Når en klasse implementerer et grensesnitt, må den klassen implementere alle metodene som er definert i grensesnittet, men når en underklasse utvider en superklasse, kan den kanskje overstyre metodene som er inkludert i den overordnede klassen. Til slutt, en annen viktig forskjell mellom Implements og Extends er at en klasse kan implementere flere grensesnitt, men den kan bare strekke seg fra en superklasse i Java. Generelt anses bruk av redskaper (grensesnitt) som mer fordelaktig sammenlignet med bruk av Extends (arv), av flere grunner som høyere fleksibilitet og muligheten til å minimere kobling. Derfor foretrekkes i praksis programmering til et grensesnitt fremfor å utvide fra basisklasser.