Kľúčový rozdiel: Existujú dva hlavné typy tried: Trieda abstraktných tried a betónu. Hlavný rozdiel medzi týmito dvoma spôsobmi vyplýva z úrovne implementácie funkčnosti ich metód. Konkrétne triedy sú bežné triedy, v ktorých sú všetky metódy úplne implementované. Abstraktná trieda je presne to, čo naznačuje jeho názov. Práve tu nie sú definované funkcie, tj sú abstraktné.
Existujú dva hlavné typy tried: Trieda abstraktných tried a betónu. Hlavný rozdiel medzi týmito dvoma spôsobmi vyplýva z úrovne implementácie funkčnosti ich metód. Konkrétne triedy sú bežné triedy, v ktorých sú všetky metódy úplne implementované. Abstraktná trieda je presne to, čo naznačuje jeho názov. Práve tu nie sú definované funkcie, tj sú abstraktné. Je to základná trieda. Akonáhle je definovaná abstraktná trieda, prestáva byť abstraktná a stáva sa konkrétnou triedou. Konkrétna trieda je miestom, kde sa poskytujú implementácie pre členské funkcie. Konkrétna trieda je odvodená od základnej triedy, tj abstraktnej triedy.
Jednoduchším spôsobom, ako o tom premýšľať, by bolo uvažovať o príklade. Myslite na šport, je to objekt, ale ten, ktorý nie je, nie je definovaný. Z technického hľadiska neexistuje šport. Existuje iba ako kategorizácia pre iné objekty. Tieto predmety, ako sú futbal, baseball, basketbal, hokej, atď., Sú definované objekty, ktoré možno kategorizovať a implementovať v rámci športu. Preto šport je abstraktná trieda, zatiaľ čo futbal, baseball, basketbal a hokej sú konkrétnymi triedami.
Porovnanie triedy abstraktnej triedy a betónu:
Abstraktná trieda | Trieda betónu | |
typ | Základná trieda | Predvolená trieda |
metódy | Môže obsahovať čiastočne implementované metódy | Všetky metódy sú úplne implementované |
funkcie | Niektoré alebo všetky deklarované funkcie sú čisto virtuálne | Žiadne čisto virtuálne funkcie |
inštancie | Nie je možné vytvoriť inštanciu | Môže byť inštancia |
Obrázok so súhlasom: tutorials.jenkov.com, stackoverflow.com