Abstrakt Klasse

En abstrakt klasse er en klasse som er erklært abstrakt — det er kanskje ikke inkluderer abstrakte metoder. Abstrakte klasser ikke kan bli lagt, men de kan være subclassed. En abstrakt klasse, kan ha statiske felt og statiske metoder. Når en abstrakt klasse er subclassed, den underklassen vanligvis gir implementeringer for alle abstrakte metoder i sin forelder klasse. Imidlertid, hvis den ikke gjør det, så underklassen må også bli erklært abstrakt.,

En abstrakt metode er en metode som er erklært uten en implementering (uten bukseseler og etterfulgt av et semikolon), som dette:

abstract void sum(int a, int b);

bør du Vurdere å bruke abstrakte klasser hvis noen av disse uttalelsene gjelder din situasjon:

  1. Du ønsker å dele koden blant flere nærstående klasser.
  2. Du kan forvente at klasser som utvider din abstrakt klasse som har mange felles metoder eller felt eller kreve tilgang modifikatorer for andre enn offentlige (for eksempel beskyttede og private).
  3. Du ønsker å erklære ikke-statisk eller ikke-final-feltene., Dette gjør deg i stand til å definere metoder som kan få tilgang til og endre status for objektet de tilhører.

– Grensesnitt

Et grensesnitt er bare erklæringen av metoder på et objekt; det er ikke gjennomføringen. I et grensesnitt, definerer vi hva slags bruk et objekt kan utføre. Disse operasjonene er definert av klasser som implementerer grensesnittet. Grensesnitt danne en kontrakt mellom klasse og resten av verden, og denne avtalen trer i kraft på bygge gang av kompilatoren.,

bør du Vurdere å bruke grensesnitt hvis noen av disse uttalelsene gjelder din situasjon:

  1. Du kan forvente at relatert klasser ville implementere grensesnittet. For eksempel grensesnitt Sammenlignbare og Cloneable er implementert av mange ikke-relaterte klasser.
  2. Du vil angi oppførsel av en bestemt datatype, men ikke opptatt av hvem som implementerer sin atferd.
  3. Du ønsker å dra nytte av flere arv.,

Opprinnelig publisert juni 2016

Mer å Lese

  • Når (Ikke) å Bruke Java Abstrakte Klasser
  • Java: Grensesnitt Mot. Abstrakt Klasse
  • Hvordan å Velge Mellom Grensesnitt og Abstrakte Klasser i Java