Я изучаю C#. У меня есть некоторые сомнения относительно абстрактного класса. абстрактный класс не позволяет создавать экземпляр. Почему конструктор поддержки C# для абстрактного класса. Какова главная цель здесь? Большое спасибо.C# аннотация класс contructor
ответ
Поскольку абстрактный класс все еще может иметь вещи, которые ему нужно инициализировать как часть его построения, и хотя он не может быть создан непосредственно, он все равно будет построен как часть экземпляра наследуемого типа, эта степень контроля над созданием себя и проблем.
Классы, которые вытекают из вашего класса abstract
, потребуют создания конструктора экземпляра для «цепочки» из своих конструкторов.
Как говорит Грант, ваш конструктор абстрактного класса может настроить много («конкретного») состояния, которое может иметь ваш абстрактный класс.
Примечание: конструкторы экземпляров абстрактного типа должны никогда be public
. Это будет путать, по причинам вашего вопроса. Сделайте их protected
вместо (или, возможно, internal
(неprotected internal
) или private
).
Если не писать какие-либо экземпляр конструкторов явно, компилятор будет генерировать «по умолчанию» конструктор для вас, и это будет protected
для абстрактного класса.
- 1. Аннотация Класс/Интерфейс C++
- 2. Аннотация базовый класс C++
- 3. Аннотация Класс Iterator в C++
- 4. Аннотация Класс vs Класс
- 5. Является ли класс contructor неопределенным поведением
- 6. Аннотация класс/метод, как C# -> VB.NET
- 7. Аннотация класс и чистый метод C++
- 8. Интерфейс и базовый Аннотация Класс C#
- 9. Аннотация Класс и интерфейс в C# .net?
- 10. Класс C/C++ не объявляется в области: Вторичный класс Мгновуализация от основного класса Contructor
- 11. Аннотация Класс - хорошая практика?
- 12. Аннотация класс - тип детей
- 13. quartz.net аннотация базовый класс
- 14. Аннотация Класс против интерфейса
- 15. Аннотация класс дизайн
- 16. Аннотация ссылка на класс
- 17. Аннотация класс в Swift
- 18. Аннотация Общий класс
- 19. Реализация фракции Аннотация Класс
- 20. Аннотация класс и инструменты
- 21. Java: Аннотация класс
- 22. Аннотация класс, конструктор копирования
- 23. Аннотация класс с основным?
- 24. C++ - создание безопасного const char * contructor
- 25. Аннотация класс без абстрактного метода
- 26. Аннотация класс без абстрактных методов
- 27. Аннотация класс и динамическое связывание
- 28. Laravel Класс не найден + Аннотация Класс
- 29. C# Аннотация Общий метод
- 30. Первый Hibernate класс, имеющий Аннотация