Rozdíl mezi třídou a rozhraním

Klíčový rozdíl - třída vs Rozhraní
 

Objektově orientované programování (OOP) je běžným vzorcem ve vývoji softwaru. Pomáhá přenést scénáře reálného světa do programování pomocí tříd a objektů. Třída je plán pro vytvoření objektu. Programátor může vytvořit třídu s vlastnostmi a metodami. Student a učitel jsou objekty. Vytvoření objektu se nazývá instanci. OOP také používá rozhraní. Rozhraní a třída se mohou zdát podobné, ale mají rozdíl. Tento článek popisuje rozdíl mezi třídou a rozhraním. klíčový rozdíl mezi třídou a rozhraním je to třída je typ odkazu, který je plánem k vytvoření instance objektu, zatímco rozhraní je typ odkazu, který nelze použít k vytvoření instance objektu.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je třída
3. Co je rozhraní
4. Podobnosti mezi třídou a rozhraním
5. Porovnání bok po boku - třída vs. rozhraní v tabulkové formě
6. Shrnutí

Co je třída?

V OOP je vše považováno za objekt. Není možné vytvořit objekt bez třídy. Třída je plán pro vytvoření objektu. Při stavbě domu architekt nakreslí plán. Plán je podobný třídě. Dům je podobný objektu. Třída je plán, jak postavit objekt. Objekt je to, co je vytvořeno pomocí třídy.

Třída obsahuje vlastnosti a metody. Student může mít vlastnosti jako jméno, známka, indexové číslo. Student může mít metody, jako je čtení, chůze, studium. Třída je vytvořena s nezbytnými vlastnostmi a metodami.

Syntaxe pro vytvoření třídy v mnoha programovacích jazycích je následující. Vytváří se pomocí třídy klíčových slov.

class class_name

// vlastnosti

//metody

Programovací jazyky jako C # a Java sledují podobnou syntaxi a vytvářejí objekt pomocí třídy. Předpokládejme, že název třídy je Student.

Student s1 = nový student ();

Tento s1 je objekt. Klíčové slovo „nové“ se používá k alokaci paměti pro vlastnosti. Třída má také konstruktor k inicializaci vlastností nebo proměnných.

Členové třídy, jako jsou vlastnosti a metody, mají modifikátory přístupu. Specifikátoři přístupu popisují přístupnost a viditelnost těchto členů vůči jiným třídám. Členové třídy mohou mít přístupové specifikátory, jako jsou veřejné, soukromé a chráněné. Veřejní členové jsou přístupní jinými třídami. Soukromí členové jsou přístupní pouze do třídy. Chráněné členy jsou přístupné v rámci třídy a příslušných podtříd.

Co je rozhraní?

Abstrakce je pilíř objektově orientovaného programování. Jedná se o skrytí podrobností implementace a zobrazení funkčnosti uživateli. Abstrakce je dosaženo pomocí abstraktních tříd a rozhraní. Abstraktní metoda nemá implementaci. Třída, která obsahuje alespoň jednu abstraktní metodu, se nazývá abstraktní třída.

Pokud existují dvě abstraktní třídy, měly by být implementovány metody deklarované v těchto třídách. K implementaci těchto metod se používá nová třída. Pokud by obě třídy měly stejnou metodu, mohlo by to způsobit nejasnost. Programovací jazyky jako Java a C # mají proto rozhraní.

Rozhraní obsahuje pouze deklaraci metod. Neexistuje žádná metoda implementace. Rozhraní také nelze použít k vytváření objektů. Používají se pro podporu více dědictví a pro zabezpečení kódu.

Syntaxe rozhraní je následující. Rozhraní používá klíčové slovo „rozhraní“.

interface interface_name

type method1 (parametr_list);

type method2 (parametr_list);

Podle výše uvedeného, ​​rozhraní mají pouze prohlášení. Neexistuje žádná definice. Rozhraní tedy nemohou vytvářet instance objektů. Poskytuje pouze abstraktní pohled na to, co je rozhraní. Metody deklarované v rozhraní mohou být implementovány jednou nebo více třídami. Třída používá klíčové slovo „implementovat“ k implementaci rozhraní. Níže uvádíme příklad napsaný pomocí Java.

Obrázek 01: Program pomocí rozhraní

Podle výše uvedeného programu jsou A a B rozhraní. Rozhraní A má deklaraci metody, která je součet (). Rozhraní B má sub () deklaraci metody. Třída C implementuje obě rozhraní, která jsou A a B. Třída C proto definuje metody sum () a sub (). Po vytvoření objektu typu C je možné zavolat obě metody sum () a sub ().

Metody deklarované uvnitř rozhraní musí být vždy veřejné, protože je definují implementační třídy. Rozhraní může také zdědit z jiného rozhraní.

Jaké jsou podobnosti mezi třídou a rozhraním?

  • Oba jsou referenční typy.
  • Oba se týkají objektově orientovaného programování.

Jaký je rozdíl mezi třídou a rozhraním?

Třída vs rozhraní

Třída je typ odkazu, který je plánem k vytvoření objektu. Rozhraní je typ odkazu, který nelze vytvořit.
 Okamžitý objekt
Třída se používá k vytvoření instance objektu. Rozhraní nelze inicializovat, protože metody nemohou provést žádnou akci.
Konstruktor
Třída obsahuje konstruktor pro inicializaci proměnných. Rozhraní neobsahuje konstruktor, protože je téměř nemožné inicializovat proměnné.
 Klíčové slovo
Třída používá klíčové slovo „class“. Rozhraní používá klíčové slovo „rozhraní“.
Přístup ke specifikátoru
Členové třídy mohou být soukromí, veřejní a chráněni. Členové rozhraní by měli být vždy veřejní, protože je definují implementační třídy.

Shrnutí - třída vs Rozhraní

Třídy a rozhraní jsou široce používány v objektově orientovaném programování. Rozdíl mezi třídou a rozhraním je v tom, že třída je typ odkazu, který je plánem k vytvoření instance objektu, a rozhraní je typ odkazu, který nelze použít k vytvoření instance objektu. Třída může implementovat mnoho rozhraní. Může však rozšířit pouze jednu nadřazenou třídu. V rozhraní může zdědit mnoho rozhraní, ale nemůže existovat implementace. Oba mají svůj význam. Programátor je může použít podle vývoje softwaru.

Stáhněte si rozhraní PDF Class vs Interface

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si PDF verzi zde Rozdíl mezi třídou a rozhraním

Odkaz:

1.tutorialspoint.com. „Java Object and Classes.“, The Point. K dispozici zde 
2.navinreddy20. Rozhraní v java s příkladem, Java By Navin Reddy, 11. prosince 2012. K dispozici zde