Beton osztály Java-ban

1. Bemutatkozás

Ebben a gyors útmutatóban megvitatjuk a Java-ban a „konkrét osztály” kifejezést.

Először meghatározzuk a kifejezést. Majd meglátjuk, miben különbözik az interfészektől és az absztrakt osztályoktól.

2. Mi az a betonosztály?

A konkrét osztály olyan osztály, amelyből létrehozhatunk egy példányt a új kulcsszó.

Más szóval, ez a tervének teljes megvalósítása. Egy beton osztály teljes.

Képzelje el például a Autó osztály:

public class Car {public String honk () {return "csipogás!"; } public String drive () {return "vroom"; }}

Mivel az összes módszert megvalósítottuk, konkrét osztálynak nevezzük, és meg tudjuk valósítani:

Autóautó = új Autó ();

Néhány példa a JDK konkrét óráira HashMap, HashSet, Tömb lista, és LinkedList.

3. Java absztrakció vs konkrét osztályok

Nem minden Java-típus hajtja végre az összes módszerét. Ez a rugalmasság, más néven absztrakció, lehetővé teszi számunkra, hogy általánosabban gondolkodjunk arról a domainről, amelyet megpróbálunk modellezni.

A Java-ban az absztrakciót interfészek és absztrakt osztályok segítségével érhetjük el.

Nézzük meg jobban a konkrét osztályokat, összehasonlítva őket ezekkel a többivel.

3.1. Interfészek

A kezelőfelület egy osztály tervrajza. Vagy más szavakkal, a nem végrehajtott módszeres aláírások gyűjteménye:

felület Driveable {void honk (); érvénytelen meghajtó (); }

Vegye figyelembe, hogy a felület kulcsszó helyett osztály.

Mivel Vezethető végrehajtatlan metódusokkal rendelkezik, nem tudjuk példányosítani a új kulcsszó.

De, konkrét órák, mint Autó megvalósíthatja ezeket a módszereket.

A JDK számos interfészt biztosít, például Térkép, Lista, és Készlet.

3.2. Absztrakt osztályok

Az absztrakt osztály olyan osztály, amelynek végrehajtatlan módszerei vannak, bár valójában mindkettő lehet:

public abstract class Jármű {public abstract String honk (); public String drive () {return "zoom"; }}

Ne feledje, hogy az elvont osztályokat a kulcsszóval jelöljük absztrakt.

Ismét azóta Jármű végrehajtatlan módszerrel rendelkezik, dudál, nem tudjuk használni a új kulcsszó.

Néhány példa a JDK absztrakt osztályaira AbstractMap és AbstractList.

3.3. Betonórák

Ellentétben, a konkrét osztályoknak nincsenek végrehajtatlan módszereik. Függetlenül attól, hogy a megvalósítások öröklődnek-e vagy sem, mindaddig, amíg mindegyik módszer rendelkezik megvalósítással, az osztály konkrét.

A betonórák ugyanolyan egyszerűek lehetnek, mint a mi Autó példa korábban. Felületeket is megvalósíthatnak és absztrakt osztályokat bővíthetnek:

a FancyCar nyilvános osztály meghosszabbítja a járműeszközöket Vezethető {public String honk () {return "csipogás"; }}

A Díszes autó osztály nyújt megvalósítást a dudál és örökli a megvalósítását hajtás tól től Jármű.

Mint ilyen, nincsenek végrehajtatlan módszerei. Ezért létrehozhatunk egy Díszes autó osztálypéldány a új kulcsszó.

FancyCar autó = új FancyCar ();

Vagy, egyszerűen fogalmazva, az összes osztályt, amely nem elvont, konkrét osztályoknak is nevezhetjük.

4. Összefoglalás

Ebben a rövid bemutatóban megismerhettük a konkrét osztályokat és azok specifikációit.

Megmutattuk az interfészek, valamint a konkrét és absztrakt osztályok közötti különbségeket.