Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа должна отображать все 4 принятых аналоговых сигнала https://www.cyberforum.ru/ cpp-beginners/ thread2387699.html
Программа должна отображать все 4 принятых аналоговых сигнала. Программа должна иметь для каждого принятого сигнала регулирумые пороги: верхний и нижний. При пересечении порогов (сигнал больше...
C++ Какой функцией C++ перевести дискретные в аналоговые данные?
Какой функцией C++ перевести дискретные в аналоговые данные
Массивы: определить процент бракованных деталей в партии C++
Может кто помочь решить содержательную задачу? Для каждой детали цилиндрической формы проводят три измерения: диаметр нижнего основания, диаметр центра и диаметр верхнего основания с точностью три...
C++ Передача объекта типа std::future в пул потоков Доброе время суток,в общем реализую шаблон продюсер-консумер и мне нужно что бы продюсеры передавали обьекта типа std::future как результат своего выполнения консумерам и у меня это никак не... https://www.cyberforum.ru/ cpp-beginners/ thread2387689.html
C++ Сформировать одномерный массив из элементов заданного массива, расположенных над главной диагональю https://www.cyberforum.ru/ cpp-beginners/ thread2387685.html
Помогите пожалуйста с кодом. Дан двумерный массив размером nxn. Сформировать одномерный массив из элементов заданного массива, расположенных над главной диагональю
Замена регистра символов в предложении с верхнего на нижний через один C++
Как сделать так,чтобы программа меняла регистр предложений с верхнего на нижний через один?
Составить схему программы и программу для заполнения таблицы значений функции y = f(x) C++
Помогите пожалуйста
C++ Сложение, вычитание, умножение и деление для длинных целых чисел Напишите программу, которая позволяет осуществить сложение, вычитание, умножение и деление для длинных целых чисел (значение числа хранится в символьном массиве - строке) https://www.cyberforum.ru/ cpp-beginners/ thread2387667.html
C++ Смена https://www.cyberforum.ru/ cpp-beginners/ thread2387656.html
Как сделать чтобы в данной программе пользователь выбирал ,что сделать с текстом (нажав 1,2,3) и исходя из этого выполнялся определенный код?Помогите сделать под первый случай(смена регистра ...
C++ Решение пятидиагональной СЛАУ методом прогонки помогите пожалуйста срочно!Дано задание,где нужно решить 5-диагональную(это важно) СЛАУ методом прогонки.Искала на данном форуме,нашла,но работает код не правильно,может у кого-нибудь есть работающий... https://www.cyberforum.ru/ cpp-beginners/ thread2387642.html
749 / 352 / 72
Регистрация: 10.06.2014
Сообщений: 2,369
13.01.2019, 16:38 0

Зачем нужны абстрактные классы и методы?

13.01.2019, 16:38. Просмотров 3886. Ответов 4
Метки (Все метки)

Ответ


Цитата Сообщение от eva2326 Посмотреть сообщение
Абстрактный класс выполняет роль интерфейса.
Думаю это выражение не совсем некорректно.

Абстрактный класс, это класс который содержит хотя бы один абстрактный метод. Такой класс так же может содержать в себе поля и методы, которые не являются абстрактными. В случае интерфейса - все методы являются абстрактными, а поля отсутствуют.

Если реализация некоторых методов у подтипов заранее известна и в случае если данная реализация общая для определенной группы типов, то эти общие реализации методов можно поместить в абстрактном классе, который будет базовым для этой группы типов. Методы, реализации которых не являются общими для подтипов - оставляются абстрактными. Вот так приблизительно выглядит среднестатистический абстрактный класс Естественно тут важно понимать что на одну сущность надо возлагать одну ответственность.
Т.е не пытайтесь написать один абстрактный класс "на все случаи жизни"

А когда заранее реализация ни одного метода неизвестна - надо использовать интерфейс.

В С++ нет интерфейсов и абстрактных классов на программном уровне как в некоторых других языках (interface, abstract class).
Но понимая их суть - можно реализовать классы/структуры по принципу абстрактных классов/интерфейсов используя виртуальные методы.

На практике вполне может возникнуть ситуация, где абстрактный класс используется в паре с интерфейсом...

Вернуться к обсуждению:
Зачем нужны абстрактные классы и методы?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2019, 16:38

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Не могу понять зачем нужны классы
Обьяснити начинающему программисту зачем нужны классы???

абстрактные классы
компилятор ругается когда я пытаюсь записать объект класса!!!! подскажите что я не правильно...

абстрактные классы
Здрасте я при написании программы столкнулся с проблемой что немогу создать указатель на объект...

Абстрактные классы
Никак не могу понять смысл абстрактных данных.Ведь мы можем использовать и обычный класс,только...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.