Вопросы с тегом «abstract-class»

Абстрактный класс - это класс, который не может быть создан. Обычно они предназначены для расширения / подклассов и обычно имеют «абстрактные методы», которые должны быть реализованы подклассами.

5
Имеет ли смысл определять интерфейс, если у меня уже есть абстрактный класс?
У меня есть класс с некоторыми функциями по умолчанию / общий доступ. Я использую abstract classдля этого: public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new …

5
Должны ли все открытые методы в абстрактном классе быть помечены как виртуальные?
Недавно мне пришлось обновить абстрактный базовый класс на некоторых OSS, которые я использовал, чтобы он был более тестируемым, сделав их виртуальными (я не мог использовать интерфейс, так как он объединял два). Это заставило меня задуматься о том, должен ли я отмечать все методы, которые мне нужны, как виртуальные, или я …

6
Какой код должен быть включен в абстрактный класс?
В последнее время меня беспокоит использование абстрактных классов. Иногда абстрактный класс создается заранее и работает как шаблон того, как будут работать производные классы. Это означает, более или менее, что они предоставляют некоторые функциональные возможности высокого уровня, но не учитывают некоторые детали, которые должны быть реализованы производными классами. Абстрактный класс определяет …

3
Абстрактное свойство в базовом классе, чтобы заставить программиста определить его
Я кодирую с шаблоном состояния для встроенного устройства. У меня есть базовый / абстрактный класс, называемый State, и затем каждый дискретный (конкретный) класс состояний реализует абстрактный State State. В государственном классе у меня есть несколько абстрактных методов. Если я не реализую абстрактные методы в дискретном (конкретном) классе, Visual Studio выдаст …

3
Абстрактные базовые классы и конструкция копирования, практические правила
Часто бывает полезно иметь абстрактный базовый класс для изоляции интерфейса объекта. Проблема в том, что конструкция копирования, IMHO, по умолчанию в C ++ в значительной степени нарушена, а конструкторы копирования генерируются по умолчанию. Итак, что за ошибки, когда у вас есть абстрактный базовый класс и необработанные указатели в производных классах? …

6
Есть ли разница между интерфейсами и абстрактными классами, которые имеют только абстрактные методы?
Допустим, у нас есть абстрактный класс, и пусть этот класс имеет только абстрактные методы. Отличается ли этот абстрактный класс от интерфейса, который имеет только те же методы? Я хочу знать, есть ли какие-либо различия как в философском, объективном, так и в базовой реализации языка программирования между абстрактным классом только с …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.