Betónová trieda v Jave

1. Úvod

V tomto rýchlom sprievodcovi budeme diskutovať o pojme „konkrétna trieda“ v Jave.

Najskôr definujeme pojem. Potom uvidíme, ako sa to líši od rozhraní a abstraktných tried.

2. Čo je to trieda betónu?

Konkrétna trieda je trieda, z ktorej môžeme vytvoriť inštanciu pomocou znaku Nový kľúčové slovo.

Inými slovami, je to úplná implementácia jeho plánu. Betónová trieda je hotová.

Predstavte si napríklad a Auto trieda:

public class Car {public String honk () {return "beep!"; } public String drive () {return "vroom"; }}

Pretože sú implementované všetky jeho metódy, nazývame to konkrétnou triedou a môžeme ich vytvoriť inštanciou:

Automobil = nové auto ();

Niektoré príklady konkrétnych tried z JDK sú HashMap, HashSet, ArrayLista LinkedList.

3. Java Abstraction vs. Concrete Classes

Nie všetky typy Java však implementujú všetky svoje metódy. Táto flexibilita sa tiež nazýva abstrakcia, nám umožňuje uvažovať všeobecnejšie o doméne, ktorú sa snažíme modelovať.

V Jave môžeme abstrakciu dosiahnuť pomocou rozhraní a abstraktných tried.

Poďme sa lepšie pozrieť na konkrétne triedy ich porovnaním s ostatnými.

3.1. Rozhrania

Rozhranie je návrhom triedy. Alebo inými slovami, ide o zbierku neimplementovaných podpisov metód:

Driver Driveable {void honk (); prázdna jazda (); }

Všimnite si, že používa rozhranie kľúčové slovo namiesto trieda.

Pretože Jazdné má neimplementované metódy, nemôžeme to vytvoriť pomocou Nový kľúčové slovo.

Ale, konkrétne triedy ako Auto môže tieto metódy implementovať.

JDK poskytuje množstvo rozhraní ako Mapa, Zoznama Nastaviť.

3.2. Abstraktné triedy

Abstraktná trieda je trieda, ktorá má neimplementované metódy, aj keď v skutočnosti môže mať oboje:

public abstract class Vehicle {public abstract String honk (); public String drive () {return "zoom"; }}

Upozorňujeme, že abstraktné triedy označujeme kľúčovým slovom abstraktné.

Opäť od Vozidlo má neimplementovanú metódu, trúbiť, nebudeme môcť používať Nový kľúčové slovo.

Niektoré príklady abstraktných tried z JDK sú AbstractMap a AbstractList.

3.3. Triedy betónu

Naproti tomu konkrétne triedy nemajú žiadne neimplementované metódy. Či už sú implementácie zdedené alebo nie, pokiaľ má každá metóda implementáciu, trieda je konkrétna.

Betónové triedy môžu byť také jednoduché ako naše Auto príklad skôr. Môžu tiež implementovať rozhrania a rozširovať abstraktné triedy:

public class FancyCar extends Vehicle implements Driveable {public String honk () {return "beep"; }}

The FancyCar trieda poskytuje implementáciu pre trúbiť a dedí implementáciu riadiť od Vozidlo.

Ako taký nemá žiadne neimplementované metódy. Preto môžeme vytvoriť a FancyCar inštancia triedy s Nový kľúčové slovo.

Auto FancyCar = nové FancyCar ();

Alebo zjednodušene povedané, všetky triedy, ktoré nie sú abstraktné, môžeme nazvať konkrétne triedy.

4. Zhrnutie

V tomto krátkom tutoriáli sme sa dozvedeli o konkrétnych triedach a ich špecifikáciách.

Ďalej sme ukázali rozdiely medzi rozhraniami a konkrétnymi a abstraktnými triedami.