Klíčový rozdíl: Existují dva hlavní typy tříd: Třída abstraktní třídy a beton. Hlavní rozdíl mezi těmito dvěma způsoby vyplývá z úrovně implementace jejich metodických funkcí. Konkrétní třídy jsou běžné třídy, kde jsou všechny metody plně implementovány. Abstraktní třída je přesně to, co naznačuje jeho název. Zde funkce nejsou definovány, tj. Jsou abstraktní.
Existují dva hlavní typy tříd: Třída abstraktní třídy a betonu. Hlavní rozdíl mezi těmito dvěma způsoby vyplývá z úrovně implementace jejich metodických funkcí. Konkrétní třídy jsou běžné třídy, kde jsou všechny metody plně implementovány. Abstraktní třída je přesně to, co naznačuje jeho název. Zde funkce nejsou definovány, tj. Jsou abstraktní. Je to základní třída. Jakmile je definována abstraktní třída, přestává být abstraktní a stává se konkrétní třídou. Konkrétní třída je tam, kde jsou realizovány implementace pro členské funkce. Betonová třída vychází ze základní třídy, tj. Abstraktní třídy.
Jednodušší způsob, jak přemýšlet o tom, by bylo uvažovat o příkladu. Myslete na sport, je to objekt, ale ten, který není, není definován. Technicky neexistuje žádná sportovní záležitost. Existuje pouze jako kategorizace pro jiné objekty. Tyto objekty, jako fotbal, baseball, basketbal, hokej atd., Jsou definované objekty, které lze kategorizovat a realizovat v rámci sportu. Sport je tedy abstraktní třída, zatímco fotbal, baseball, basketbal a hokej jsou konkrétními třídami.
Srovnání třídy abstraktní třídy s betonem:
Abstraktní třída | Třída betonu | |
Typ | Základní třída | Výchozí třída |
Metody | Může obsahovat částečně implementované metody | Všechny metody jsou plně implementovány |
Funkce | Některé nebo všechny deklarované funkce jsou čistě virtuální | Žádné čistě virtuální funkce |
Instantiation | Nelze vytvořit instanci | Může být instancí |
Obrázek s laskavým svolením: tutorials.jenkov.com, stackoverflow.com