Forskjellen Mellom Redskaper Og Utvidelser

Forskjellen Mellom Redskaper Og Utvidelser
Forskjellen Mellom Redskaper Og Utvidelser

Video: Forskjellen Mellom Redskaper Og Utvidelser

Video: Forskjellen Mellom Redskaper Og Utvidelser
Video: Motorola DROID Ultra vs Motorola DROID Maxx 2024, November
Anonim

Redskaper vs Extends

Implements og Extends er to nøkkelord som finnes i Java-programmeringsspråk som gir et middel til å overføre ekstra funksjonalitet til en ny klasse. Implements søkeord brukes eksplisitt for implementering av et grensesnitt, mens Extends keyword brukes til å arve fra en (super) klasse. Vær oppmerksom på at begrepene arv og grensesnitt er til stede i de fleste andre objektorienterte programmeringsspråk som C # og VB. NET, men de tilbyr forskjellig syntaks eller nøkkelord for å bruke disse konseptene. Denne artikkelen fokuserer bare på implementeringer og utvider nøkkelord definert i Java.

Strekker

Extends søkeord brukes til å implementere begrepet arv i Java programmeringsspråk. Arv gir i hovedsak gjenbruk av kode 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 i superklassen. Underklassen kan eventuelt overstyre oppførselen (gi ny eller utvidet funksjonalitet til metoder) arvet fra overordnet klasse. En underklasse kan ikke utvide flere superklasser i Java. Derfor kan du ikke bruke utvidelser for flere arv. For å ha flere arv, må du bruke grensesnitt som forklart nedenfor.

Redskaper

Implementerer nøkkelord i Java-programmeringsspråk brukes til å 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 grensesnittet. Vanligvis vil et grensesnitt bare inneholde metodesignaturer og konstante erklæringer. Ethvert grensesnitt som implementerer et bestemt grensesnitt, skal implementere alle metodene som er definert i grensesnittet, eller deklareres som en abstrakt klasse. I Java kan typen objektreferanse defineres som en grensesnitttype. Men det objektet må enten være null eller skal inneholde et objekt i en klasse, som implementerer det bestemte grensesnittet. Ved å bruke Implements søkeord i Java kan du implementere flere grensesnitt til en enkelt klasse. Et grensesnitt kan ikke implementere et annet grensesnitt. Imidlertid kan et grensesnitt utvide en klasse.

Forskjellen mellom redskaper og utvidelser

Selv om Implements and Extends er to nøkkelord som gir en mekanisme for å arve attributter og oppførsel til en klasse i Java-programmeringsspråk, brukes de til to forskjellige formål. Implements søkeord brukes for en klasse for å implementere et bestemt grensesnitt, mens Extends keyword brukes for en underklasse for å utvide seg 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 eller ikke overstyre metodene som er inkludert i foreldreklassen. Til slutt er en annen viktig forskjell mellom Implement og Extends 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 gunstigere sammenlignet med bruk av Extends (arv),av flere grunner som høyere fleksibilitet og muligheten til å minimere kobling. Derfor er det i praksis foretrukket å programmere til et grensesnitt fremfor å strekke seg fra baseklasser.

Anbefalt: