Rozdiel medzi triedou a rozhraním

Obsah:

Rozdiel medzi triedou a rozhraním
Rozdiel medzi triedou a rozhraním

Video: Rozdiel medzi triedou a rozhraním

Video: Rozdiel medzi triedou a rozhraním
Video: Aký je rozdiel medzi kreditkou a debetnou kartou? A ako si chrániť účet? 👀 2024, November
Anonim

Kľúčový rozdiel – trieda a rozhranie

Object-Oriented Programming (OOP) je bežnou paradigmou vo vývoji softvéru. Pomáha priniesť scenáre z reálneho sveta do programovania pomocou tried a objektov. Trieda je plán na vytvorenie objektu. Programátor môže vytvoriť triedu s vlastnosťami a metódami. Študent a učiteľ sú predmety. Vytvorenie objektu je známe ako inštancia. OOP tiež používa rozhrania. Rozhrania a trieda sa môžu zdať podobné, ale majú rozdiel. Tento článok popisuje rozdiel medzi triedou a rozhraním. Kľúčový rozdiel medzi triedou a rozhraním je v tom, že trieda je typ odkazu, ktorý je plánom na vytvorenie inštancie objektu, zatiaľ čo rozhranie je typ odkazu, ktorý nemožno použiť na vytvorenie inštancie objektu.

Čo je trieda?

V OOP sa všetko považuje za objekt. Nie je možné vytvoriť objekt bez triedy. Trieda je plán na vytvorenie objektu. Pri stavbe domu architekt nakreslí plán. Plán je podobný triede. Dom je podobný objektu. Trieda je plán na zostavenie objektu. Objekt je to, čo je vytvorené pomocou triedy.

Trieda obsahuje vlastnosti a metódy. Študent môže mať vlastnosti ako meno, známka, indexové číslo. Študent môže mať metódy ako čítanie, chôdza, štúdium. Vytvorí sa trieda s potrebnými vlastnosťami a metódami.

Syntax na vytvorenie triedy v mnohých programovacích jazykoch je nasledovná. Vytvára sa pomocou kľúčového slova class.

class class_name {

// vlastnosti

//methods

}

Programovacie jazyky ako C a Java používajú podobnú syntax na vytvorenie objektu pomocou triedy. Predpokladajme, že názov triedy je Študent.

Študent s1=nový študent ();

Toto s1 je objekt. Kľúčové slovo „new“sa používa na pridelenie pamäte pre vlastnosti. Trieda má tiež konštruktor na inicializáciu vlastností alebo premenných.

Členovia triedy, ako sú vlastnosti a metódy, majú modifikátory prístupu. Špecifikátory prístupu popisujú prístupnosť a viditeľnosť týchto členov pre iné triedy. Členovia triedy môžu mať špecifikátory prístupu, ako je verejný, súkromný a chránený. Verejní členovia sú prístupní pre iné triedy. Súkromní členovia sú prístupní iba pre triedu. Chránení členovia sú prístupní v rámci triedy a príslušných podtried.

Čo je rozhranie?

Abstrakcia je pilierom objektovo orientovaného programovania. Má skryť detaily implementácie a zobraziť funkčnosť používateľovi. Abstrakcia sa dosahuje pomocou abstraktných tried a rozhraní. Abstraktná metóda nemá implementáciu. Trieda, ktorá obsahuje aspoň jednu abstraktnú metódu, sa nazýva abstraktná trieda.

Ak existujú dve abstraktné triedy, mali by byť implementované metódy deklarované v týchto triedach. Na implementáciu týchto metód sa používa nová trieda. Ak by obe triedy mali rovnakú metódu, mohlo by to spôsobiť problém s nejednoznačnosťou. Preto programovacie jazyky ako Java a C majú rozhranie.

Rozhrania obsahujú iba deklaráciu metód. Neexistuje spôsob implementácie. Rozhrania tiež nemožno použiť na vytváranie objektov. Používajú sa na podporu viacnásobného dedenia a na zabezpečenie kódu.

Syntax rozhrania je nasledovná. Rozhranie použite kľúčové slovo „rozhranie“.

interface interface_name{

type method1(zoznam_parametrov);

type method2(zoznam_parametrov);

}

Podľa vyššie uvedeného majú rozhrania iba deklaráciu. Neexistuje žiadna definícia. Rozhrania teda nemôžu vytvárať inštancie objektov. Poskytuje iba abstraktný pohľad na to, čo je rozhranie. Metódy deklarované v rozhraní môžu byť implementované jednou alebo viacerými triedami. Trieda používa kľúčové slovo „implementovať“na implementáciu rozhrania. Pozrite si nižšie uvedený príklad napísaný pomocou Java.

Rozdiel medzi triedou a rozhraním
Rozdiel medzi triedou a rozhraním
Rozdiel medzi triedou a rozhraním
Rozdiel medzi triedou a rozhraním

Obrázok 01: Program využívajúci rozhrania

Podľa vyššie uvedeného programu sú A a B rozhrania. Rozhranie A má deklaráciu metódy, ktorá je sum(). Rozhranie B má deklaráciu metódy sub(). Trieda C implementuje obe rozhrania, ktorými sú A aj B. Preto trieda C definuje metódy sum() aj sub(). Po vytvorení objektu typu C je možné volať obe metódy sum() aj sub().

Metódy deklarované v rozhraní musia byť vždy verejné, pretože ich definujú implementačné triedy. Rozhranie môže dediť aj z iného rozhrania.

Aké sú podobnosti medzi triedou a rozhraním?

  • Oba sú referenčné typy.
  • Obe sa týkajú objektovo orientovaného programovania.

Aký je rozdiel medzi triedou a rozhraním?

Trieda vs rozhranie

Trieda je typ odkazu, ktorý je plánom na vytvorenie objektu. Rozhranie je typ odkazu, ktorý nemožno vytvoriť.
Objektová inštancia
Trieda sa používa na vytvorenie inštancie objektu. Rozhranie nie je možné vytvoriť, pretože metódy nedokážu vykonať žiadnu akciu.
Konštruktér
Trieda obsahuje konštruktor na inicializáciu premenných. Rozhranie neobsahuje konštruktor, pretože to nie sú takmer žiadne premenné na inicializáciu.
Kľúčové slovo
Trieda používa kľúčové slovo „class“. Rozhranie používa kľúčové slovo „rozhranie“.
Špecifikátor prístupu
Členovia triedy môžu byť súkromní, verejní a chránení. Členovia rozhrania by mali byť vždy verejní, pretože ich definujú implementujúce triedy.

Súhrn – trieda vs rozhranie

Triedy a rozhrania sú široko používané v objektovo orientovanom programovaní. Rozdiel medzi triedou a rozhraním je v tom, že trieda je referenčný typ, ktorý je plánom na vytvorenie inštancie objektu, a rozhranie je referenčný typ, ktorý nemožno použiť na vytvorenie inštancie objektu. Trieda môže implementovať mnoho rozhraní. Môže však rozšíriť iba jednu supertriedu. V rozhraní môže zdediť veľa rozhraní, ale nemôže existovať implementácia. Oboje má svoj význam. Programátor ich môže použiť podľa vývoja softvéru.

Stiahnuť triedu PDF vs rozhranie

Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si verziu PDF tu Rozdiel medzi triedou a rozhraním

Odporúča: