Concrete klasse in Java

1. Inleiding

In deze korte handleiding we bespreken de term "concrete klasse" in Java.

Eerst zullen we de term definiëren. Vervolgens zullen we zien hoe het verschilt van interfaces en abstracte klassen.

2. Wat is een concrete klasse?

Een concrete class is een class waarvan we een instantie kunnen maken met behulp van de nieuw trefwoord.

Met andere woorden, het is een volledige uitvoering van de blauwdruk. Een concrete les is voltooid.

Stel je bijvoorbeeld een Auto klasse:

openbare klasse Auto {openbare String honk () {retourneer "piep!"; } public String drive () {return "vroom"; }}

Omdat al zijn methoden zijn geïmplementeerd, noemen we het een concrete klasse en kunnen we deze instantiëren:

Auto auto = nieuwe auto ();

Enkele voorbeelden van concrete klassen uit de JDK zijn Hash kaart, HashSet, ArrayList, en LinkedList.

3. Java-abstractie versus concrete klassen

Niet alle Java-typen implementeren echter al hun methoden. Deze flexibiliteit wordt ook wel abstractie, stelt ons in staat om in meer algemene termen te denken over het domein dat we proberen te modelleren.

In Java kunnen we abstractie bereiken met behulp van interfaces en abstracte klassen.

Laten we concrete klassen beter bekijken door ze met andere te vergelijken.

3.1. Interfaces

Een interface is een blauwdruk voor een klas. Of, met andere woorden, het is een verzameling niet-geïmplementeerde methodehandtekeningen:

interface Bestuurbare {void honk (); leegte drive (); }

Merk op dat het de koppel trefwoord in plaats van klasse.

Omdat Bestuurbaar heeft niet-geïmplementeerde methoden, we kunnen het niet instantiëren met de nieuw trefwoord.

Maar, concrete klassen zoals Auto kan deze methoden implementeren.

De JDK biedt een aantal interfaces zoals Kaart, Lijst, en Set.

3.2. Abstracte lessen

Een abstracte klasse is een klasse met niet-geïmplementeerde methoden, hoewel het eigenlijk beide kan hebben:

openbare abstracte klasse Voertuig {openbare abstracte String honk (); public String drive () {return "zoom"; }}

Merk op dat we abstracte klassen markeren met het trefwoord abstract.

Nogmaals, sinds Voertuig heeft een niet geïmplementeerde methode, toeteren, kunnen we de nieuw trefwoord.

Enkele voorbeelden van abstracte klassen uit de JDK zijn Abstracte kaart en SamenvattingLijst.

3.3. Concrete klassen

In tegenstelling tot, concrete klassen hebben geen niet-geïmplementeerde methoden. Of de implementaties nu worden overgeërfd of niet, zolang elke methode een implementatie heeft, is de klasse concreet.

Concrete lessen kunnen net zo eenvoudig zijn als de onze Auto voorbeeld eerder. Ze kunnen ook interfaces implementeren en abstracte klassen uitbreiden:

public class FancyCar breidt uit Voertuig implementeert Driveable {public String honk () {return "piep"; }}

De Mooie auto class biedt een implementatie voor toeteren en het erft de implementatie van rit van Voertuig.

Als zodanig heeft het geen niet-geïmplementeerde methoden. Daarom kunnen we een Mooie auto klasse-instantie met de nieuw trefwoord.

FancyCar auto = nieuwe FancyCar ();

Of, simpel gezegd, alle klassen die niet abstract zijn, kunnen we concrete klassen noemen.

4. Samenvatting

In deze korte tutorial leerden we over concrete klassen en hun specificaties.

Bovendien hebben we de verschillen tussen interfaces en concrete en abstracte klassen laten zien.