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