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

Autor: Laura McKinney
Datum Vytvoření: 3 Duben 2021
Datum Aktualizace: 1 Červenec 2024
Anonim
Rozdíl mezi abstraktní třídou a rozhraním - Vzdělání
Rozdíl mezi abstraktní třídou a rozhraním - Vzdělání

Obsah

Hlavní rozdíl

Hlavní rozdíl mezi abstraktní třídou a rozhraním spočívá v tom, že postupy rozhraní Java jsou v podstatě abstraktní a nemohou mít aplikace. Takže obecně řečeno, rozhraní je ve skutečnosti smlouva a když mluvíme o rozhraní, platí, že metody nemají tělo, je to jen vzor. Zatímco abstraktní třídy jsou v zásadě třídy, které je drahé používat. Abstraktní třídy a rozhraní je úplně jiný koncept, jedná se o dvě různé věci, ale občas jsou jejich implementace docela podobné.


Co je abstraktní třída?

Programátor neimplikuje abstraktní třídu úplně. Abstraktní třída může mít jednu nebo více abstraktních metod. Jsou užitečné pro modelování skupinového seskupení nebo hodnocení a když je to prováděno, programátor získá představu o tom, co musí být vytvořeno po zobrazení požadavků. Na abstraktní třídu se nelze zcela spolehnout, protože jí chybí některé části. Hlavním bodem tohoto argumentu je, že abstraktní třída je přísně objektově orientovaná, ačkoli má nadpis metody, ale nemá tělo. Když mluvíme o abstraktních třídách, existuje silné spojení mezi dvěma třídami, protože tyto třídy mají tendenci se navzájem získávat nebo zdědit.

Co je rozhraní?

Když mluvíme o rozhraní, pak naopak není vztah nebo komunikace mezi samotným rozhraním a třídou implikující rozhraní tak silný jako v abstraktních třídách. Třída Java může implementovat mnoho rozhraní, ale může zdědit jednu abstraktní třídu. To znamená, že když chcete naznačit mnoho interakcí najednou, pak rozhraní je vaše věc. Kromě tohoto celého scénáře, i když nechcete, aby se API chvíli změnilo, je pro vás nejlepší volbou rozhraní. Rozhraní je vlastně smlouva mezi dvěma různými objekty. Abychom to zkrátili, rozhraní se točí kolem funkčnosti.


Klíčové rozdíly

  1. Abstraktní třída je objektově orientovaná, zatímco rozhraní je funkční.
  2. Pokud chcete, aby API zůstalo na chvíli konstantní, zvolte rozhraní přes abstraktní třídu.
  3. Více dědictví by bylo možné získat zahrnutím více rozhraní. V abstraktní třídě nemůžete získat více dědictví.
  4. Pokud máte vibraci, kterou byste v budoucnu potřebovali přidat do své práce, pak je zvolena abstraktní třída, ne rozhraní.
  5. Abstraktní třída poskytuje běžnou aplikaci základní třídy, ale nic takového se v rozhraní neděje.
  6. V rozhraní jsou všechny metody, které implementujete, veřejné, ale v abstraktní třídě můžete také použít některé neveřejné metody.
  7. Konstruktory nejsou v rozhraní, ale vyskytují se v abstraktní třídě.
  8. Úplný člen abstraktní třídy může být statický, ale nikoli rozhraní.

Advokát vs. advokát - v čem je rozdíl?

Laura McKinney

Červenec 2024

Hlavním rozdílem mezi právníkem a advokátem je, že Advokát je právník, který pomáhá klientům a zatupuje je před oudem a Advokát je povol...

Hlavním rozdílem mezi Xylofonem a Glockenpielem je, že Xylofon je hudební nátroj rodiny paliček a Glockenpiel je bicí nátroj ložený ze ady laděných kláve u...

Nejnovější Příspěvky