Rozdiel medzi triedou a rozhraním v jazyku Java

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 1 Smieť 2024
Anonim
Rozdiel medzi triedou a rozhraním v jazyku Java - Technológie
Rozdiel medzi triedou a rozhraním v jazyku Java - Technológie

Obsah


Trieda aj rozhranie sa používajú na vytvorenie nových typov odkazov. Trieda je zbierka polí a metód, ktoré fungujú na poliach. Rozhranie má úplne abstraktné metódy, t. J. Metódy s nikým. Rozhranie je syntakticky podobné triede, ale existuje zásadný rozdiel medzi triedou a rozhraním, ktoré je trieda môže byť vytvorená inštanciou, ale rozhranie nemôže byť nikdy vytvorená. Dozvieme sa teda viac rozdielov medzi triedou a rozhraním pomocou porovnávacej tabuľky uvedenej nižšie.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieTriedaRozhranie
základnéTrieda je vytvorená na vytvorenie objektov.Rozhranie nie je možné inicializovať, pretože metódy nedokážu vykonať žiadnu akciu pri vyvolaní.
kľúčovétriedarozhranie
Prístupový špecifikátorČlenovia triedy môžu byť súkromní, verejní alebo chránení.Členovia rozhrania sú vždy verejní.
metódy Metódy triedy sú definované na vykonanie konkrétnej akcie.Metódy v rozhraní sú čisto abstraktné.
Implementovať / predĺžiťTrieda môže implementovať ľubovoľný počet rozhraní a môže rozširovať iba jednu triedu.Rozhranie môže rozšíriť viac rozhraní, ale nemôže implementovať žiadne rozhranie.
staviteľ Trieda môže mať konštruktory na inicializáciu premenných.Rozhranie nemôže mať nikdy konštruktora, pretože nie je takmer žiadna inicializácia premennej.


Definícia triedy

Trieda je najdôležitejším aspektom programovania Java bez tried, ktoré nemôžete implementovať. Trieda vytvára referenčné typy a tieto referenčné typy sa používajú na vytváranie objektov. Trieda má podpis a telo. Podpis triedy má názov a informáciu o triede, ktorá hovorí, či trieda zdedila inú triedu. Telo triedy má polia a metódy, ktoré na týchto poliach fungujú. Trieda sa vytvára pomocou kľúčového slova trieda, Uvidíme, ako vyhlásiť triedu.

class class_name {/ * pole ... metódy * /}

Keď je trieda vytvorená, každý vytvorený objekt obsahuje kópiu polí a metód s nimi. Polia a členy deklarované vo vnútri triedy môžu byť statické alebo nestatické. Hodnota statických členov je konštantná pre každý objekt, zatiaľ čo nestatické členy sú inicializované každým objektom odlišne podľa jeho požiadavky.


Členovia triedy majú špecifikátory prístupu, ktoré rozhodujú o viditeľnosti a prístupnosti členov pre používateľa alebo pre podtriedy. Špecifikácie prístupu sú verejné, súkromné ​​a chránené. Triedu môže zdediť iná trieda pomocou špecifikátora prístupu, ktorý rozhodne o zviditeľnení členov nadtriedy (zdedenej triedy) v podtriede (zdedená trieda). Trieda tak spĺňa koncept skrývania a zapuzdrenia údajov v objektovo orientovanom programovaní.

Definícia rozhrania

Rozhranie patrí tiež medzi referenčné typy definované v Java. Dôležitosť rozhrania je, že v jazyku Java môže trieda zdediť iba jednu triedu. Aby sa predišlo tomuto obmedzeniu, dizajnéri Java predstavili koncept rozhrania. Rozhranie je syntakticky podobné triede, chýba mu však deklarácia v teréne a metódy vo vnútri rozhrania nemajú žiadnu implementáciu. Rozhranie sa deklaruje pomocou kľúčového slova rozhranie, Pozrime sa na vyhlásenie rozhrania.

interface interface_name {type var_name = value; typ method1 (zoznam parametrov); typ method2 (zoznam parametrov); , , }

Rozhranie nedefinuje žiadnu metódu deklarovanú vo vnútri, pretože v poliach chýba. Len preto, že žiadna metóda vo vnútri rozhrania nevykonáva žiadnu akciu, rozhranie sa nikdy nemôže vytvoriť. Ak rozhranie obsahuje člena poľa, musí sa inicializovať v čase ich vyhlásenia. Rozhranie nikdy neobsahuje žiadne konštruktory, pretože nemá inicializáciu členov poľa. Rozhranie teda definuje iba to, čo musí trieda robiť, namiesto toho, ako to musí robiť.

Rozhranie po vytvorení môže implementovať ľubovoľný počet tried pomocou kľúčového slova náradie, Triedy implementujúce rozhranie musia však definovať všetky metódy v rozhraní. Rozhranie môže tiež zdediť ďalšie rozhranie pomocou predĺžiť kľúčových slov. Ak trieda implementuje rozhranie, ktoré rozširuje ďalšie rozhranie. Potom trieda musí definovať metódy oboch rozhraní, ktoré sa objavia v reťazci. Metódy vo vnútri rozhrania musia byť vždy verejné, pretože k nim musia mať prístup triedy, ktoré ich implementujú.

Kľúčové rozdiely medzi triedou a rozhraním v jazyku Java

  1. Trieda môže byť vytvorená pomocou vytvorenia jej objektov. Rozhranie nie je nikdy inicializované, pretože metódy deklarované vo vnútri rozhrania sú abstraktné a nevykonávajú žiadnu akciu, takže nie je možné použiť inštanciu akéhokoľvek rozhrania.
  2. Trieda sa deklaruje pomocou triedy kľúčového slova. Rovnakým spôsobom sa rozhranie vytvorí pomocou rozhrania kľúčových slov.
  3. Členovia triedy môžu mať špecifikátora prístupu ako verejný, súkromný alebo chránený. Členovia rozhrania sú však vždy verejní, pretože k nim musia mať prístup triedy, ktoré ich implementujú.
  4. Metódy vo vnútri triedy sú definované na vykonanie akcie na poliach deklarovaných v triede. Pretože rozhranie chýba vo vyhlásení polí, metódy vo vnútri rozhrania sú čisto abstraktné.
  5. Trieda môže implementovať ľubovoľný počet rozhraní, ale môže rozšíriť iba jednu super triedu. Rozhranie môže rozšíriť ľubovoľný počet rozhraní, ale nemôže implementovať žiadne rozhranie.
  6. Trieda má v sebe definované konštruktory, aby bola premenná inicializovaná. Rozhranie však nemá konštruktorov, pretože neexistujú žiadne polia na inicializáciu. Polia rozhrania sa inicializujú iba v čase ich vyhlásenia.

záver:

Triedy aj rozhrania majú svoj vlastný význam. Trieda sa používa, keď musíme definovať, ako sa má úloha vykonať. Rozhranie sa používa, keď potrebujeme vedieť, čo treba urobiť.