Конструктор абстрактного класса в C #

Я обычно не комментирую внутренний код, однако я полностью не соглашаюсь со взглядом, которого часто придерживаются, что нужно просто написать читаемый код, и затем Вам не нужна документация.

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

Людям, которые используют классы и методы, записанные Вами, не придется прочитать Ваш код, чтобы понять, как использовать их. Таким образом, я думаю, что нужно зарегистрировать то, что легальные входные и выходные диапазоны, а также важные инварианты. Например, функция берет указатель в качестве аргумента. Неважно, как хорошо Вы называете свою функцию, никогда не может быть очевидно, допустимо ли предоставление ПУСТОГО УКАЗАТЕЛЯ или является ли ПУСТОЙ УКАЗАТЕЛЬ допустимым возвращенным результатом. Часто-1 и 0 используются для передачи сигналов о некоторых что-то как объект, разыскиваемый не найденный или подобный. Это должно быть зарегистрировано.

Кроме этого я думаю, что ключ о документировании кода не должен документировать то, что класс или метод делают или , но каково намерение позади него.

193
задан Adrian 15 March 2015 в 02:41
поделиться

1 ответ

Вы абсолютно правы. Мы не можем создать экземпляр абстрактного класса, потому что абстрактные методы не имеют никакого тела, т. Е. Реализация для абстрактных методов невозможна. Но могут быть некоторые сценарии, когда вы хотите инициализировать некоторые переменные базового класса. Вы можете сделать это, используя ключевое слово base , как предложено @Rodrick. В таких случаях нам нужно использовать конструкторы в нашем абстрактном классе.

0
ответ дан 23 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: