Запитання з тегом «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
Чи повинні усі публічні методи в абстрактному класі позначатись віртуальними?
Нещодавно мені довелося оновити абстрактний базовий клас на деяких ОС, які я використовував, щоб він був більш перевіреним, зробивши їх віртуальними (я не міг використовувати інтерфейс, оскільки він поєднував два). Це змусило мене замислитись, чи слід відзначати всі методи, які мені потрібні віртуальні, або чи слід відзначати кожен публічний метод …

6
Який код слід включити до абстрактного класу?
Нещодавно мене турбує використання абстрактних занять. Іноді абстрактний клас створюється заздалегідь і працює як шаблон того, як працювали похідні класи. Це означає, більш-менш, що вони забезпечують функціональність високого рівня, але залишають певні деталі, які можна реалізувати у похідних класах. Абстрактний клас визначає потребу в цих деталях, застосовуючи деякі абстрактні методи. …

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

3
Анотація базових класів та побудова копій, правила
Часто буває корисно мати абстрактний базовий клас, щоб ізолювати інтерфейс об'єкта. Проблема полягає в тому, що конструкція копій, IMHO, значно забита за замовчуванням у C ++, при цьому конструктори копій генеруються за замовчуванням. Отже, що таке гетчі, коли у вас є абстрактний базовий клас та вихідні вказівники у похідних класах? …

6
Чи є різниця між інтерфейсами та абстрактними класами, які мають лише абстрактні методи?
Скажімо, у нас є абстрактний клас, і нехай цей клас має лише абстрактні методи. Чи відрізняється цей абстрактний клас від інтерфейсу, який має лише ті самі методи? Що я хочу дізнатися, чи є якісь філософські, об’єктивні та різниці в мові програмування між абстрактним класом лише з абстрактними членами та відповідним …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.