Ключова разлика: Съществуват два основни типа класове: Абстрактни и Конкретни. Основната разлика между двете е в степента на реализация на методологичните им функционалности. Конкретните класове са редовни класове, където всички методи са напълно изпълнени. Абстрактен клас е точно това, което подсказва името му. Именно там функциите не са дефинирани, т.е. те са абстрактни.
Съществуват два основни типа класове: Абстрактни и Конкретни. Основната разлика между двете е в степента на реализация на методологичните им функционалности. Конкретните класове са редовни класове, където всички методи са напълно изпълнени. Абстрактен клас е точно това, което подсказва името му. Именно там функциите не са дефинирани, т.е. те са абстрактни. Това е базовият клас. След като се дефинира абстрактна класа, тя престава да бъде абстрактна и става конкретен клас. Конкретен клас е мястото, където са осигурени изпълненията за функциите на членовете. Конкретният клас се извлича от базовия клас, т.е. абстрактния клас.
Един по-лесен начин да се мисли за това е да се помисли за пример. Помислете за спорта, той е обект, но не е дефиниран. Технически, няма такова нещо като спорт. Тя съществува само като категоризация за други обекти. Тези обекти, като футбол, бейзбол, баскетбол, хокей и т.н. са дефинирани обекти, които могат да бъдат категоризирани и реализирани под спорт. Следователно, спортът е абстрактният клас, а футболът, бейзболът, баскетболът и хокейът са конкретни класове.
Сравнение между класически клас и клас бетон:
Анотация клас | Клас бетон | |
Тип | Базов клас | Клас по подразбиране |
методи | Може да съдържа частично изпълнени методи | Всички методи са напълно изпълнени |
Функции | Някои или всички декларирани функции са чисто виртуални | Няма чисто виртуални функции |
примерна | Не може да бъде инстанциран | Може да бъде инстанциран |
С любезност на изображението: tutorials.jenkov.com, stackoverflow.com