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.