Hvordan skrive en abstrakt klasse i Java

Hvordan skrive en abstrakt klasse i Java


I Java, abstrakte klasser lar deg definere klasser som ikke er faktisk instantiated seg selv, men andre klasser kan utvide. Disse andre klasser som arver fra abstrakte klasser kan startes som objekter i et program. Abstrakte klasser har derfor en lignende funksjon som grensesnitt i Java, slik at utviklere å spesifisere atferden og data arve klasser må implementere. Erklærte en abstrakt klasse er en grei prosess, som krever bare noen få enkle Java kodeelementer.

Bruksanvisning

1 Lag en disposisjon for abstrakt klasse erklæring. Opprett en ny klasse i Java-program prosjektet og velge et navn som passer til sitt formål, for eksempel "AbstractDemo," for eksempel. Skriv inn følgende disposisjonskode, endre navnet klasse som passer din egen:

offentlige abstrakt klasse AbstractDemo {

// Klassekoden her

}

Detaljene i den abstrakte klassen vil bli listet opp i denne klassen erklæringen. Nøkkelordet "abstrakt" spesifiserer dette er en klasse som ikke vil bli instansiert.

2 Legg datafelt til abstrakt klasse erklæring. Abstrakt klasse erklæringer kan bestemme variabler som vil bli reflektert i noen underklasser. Legg et enkelt dataelement som følger, mellom åpning og lukking klasse deklarasjons parentes:

private int someNumber;

Eventuelle klasser du oppretter i programmet som arver fra den abstrakte klassen vil også inneholde denne variabelen.

3 Legg en metode til abstrakt klasse erklæring. Klassen kan inneholde abstrakte og ikke-abstrakte metoder. Sett inn en ikke-abstrakt metode som følger:

public void setNumber (int num)

{SomeNumber = num; }

Eventuelle strekker klasser trenger ikke å implementere denne metoden, som de vil automatisk arve den. Dette betyr alle forekomster av subklasser av den abstrakte klassen vil gi "setNumber" metoden til annen kode.

4 Legg en abstrakt metode til klassen. Eventuelle abstrakte metoder deklarert i klassen må gjennomføres av underklasser. Det er her en abstrakt klasse virker på en måte som ligner på en grenseflate, som abstrakte metoder er en måte å tvinge strekker klasser for å implementere set metoder. Legg en abstrakt metode med din erklæring som følger:

abstrakt public String gettext ();

Dette betyr strekker klasser må gi denne metoden komplett med en implementering for den. Slik praksis er nyttig der du ønsker subklasser å kunne skreddersy metoden detalj som passer seg selv.

5 Utvid abstrakt klasse. Innenfor programmet, opprette en ny klasse å utvide abstrakt ett. Følgende er et eksempel på en klasse utvide "AbstractDemo" class:

public class AbstractDemoExtender strekker AbstractDemo {

private String someText;

offentlig AbstractDemoExtender ()

{SomeText = "Hei"; }

public String gettext ()

{Return someText; }

}

Test din søknad ved å opprette en forekomst av klassen utvide den abstrakte klassen, og kaller metodene på det for å teste sin oppførsel.

Hint

  • Hvorvidt en abstrakt klasse er å foretrekke fremfor et grensesnitt er avhengig av behovene til et bestemt prosjekt; det er egentlig opp til deg å bestemme hvilken som passer dine behov bedre.
  • Ikke vær redd for å endre søknaden din design hvis du bestemmer deg for en abstrakt klasse er ikke det beste alternativet. Det er bedre å endre under utviklingsprosessen for å møte problemene senere.