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.