Co je to abstraktní metoda?

V objektově orientovaném programování se podprogramy nazývané „metody“ používají k provádění funkcí v programu. Tyto metody se skládají z programovacích příkazů, které provádějí akci, nastavují vstupní parametry pro přizpůsobení akcí a mohou vrátit nebo vydat hodnotu nějakého druhu objektu nebo třídy. Metody jsou akce prováděné v programu z určité třídy nebo v rámci objektu a používají se k přístupu a manipulaci s daty uloženými v objektu. Existuje mnoho různých metod a každý má zvláštní použití. Specifický typ, který je prováděn z abstraktní super třídy a zděděný podtřídy, se nazývá abstraktní metoda.

Obecně, abstraktní metoda provádí malou nebo žádnou implementaci ve své abstraktní super třídě. Kódy obsažené v rámci této metody jsou považovány za figuríny a nejsou implementovány samy. To neznamená, že konkrétní abstraktní metoda v konkrétní abstraktní třídě se nepoužívá. Abstraktní metoda spíše funguje jako model nebo místodržitel pro podtřídy pro dokončení implementace metody.

Super třídy mohou obsahovat více podtříd a všechny podtřídy super třídy mají určité podobné stavy a chování. Abstraktní třídy jsou proto typem virtuální třídy, která vykazuje virtuální dědičnost. To znamená, že jakákoli podtřída odvozená od super třídy zdědí omezení super třídy, ze které je odvozena. Proto jsou metody v podtřídách odvozeny z abstraktních metod super tříd. Při programování a používání abstraktních metod musí programátor deklarovat spíše abstraktní třídu než virtuální.

Například super třída „grafických objektů“ obsahuje podtřídy „kruh“, „čtvercové“ atd. Jako takové mají všechny kruhy a čtverce stejné stavy - orientace, poloha, barva plnění, barvy linky - a chování - moveto, změna, otáčení, otáčení, kreslit - jako „Grafický obbJects. “ Všechny podtřídy v této třídě mají stejné vlastnosti, ale jsou implementovány různými způsoby.

Použití abstraktní metody umožňuje zobecnění na nejvyšší úrovni nebo super třídě a specifikaci na nižších úrovních nebo podtřídách. Tato hierarchie minimalizuje množství programování metod na každou konkrétní podtřídu. Použití těchto metod také umožňuje idempotenci podtřídy, což znamená, že pokud je metoda implementována znovu a znovu, je výsledek pokaždé stejný.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?