Подкласс Objective C, который переопределяет метод в суперклассе

Используйте asciidoctor-rouge или asciidoctor-highlight.js .

15
задан Andy White 21 April 2009 в 00:46
поделиться

2 ответа

Я часто объявляю методы, которые планирую переопределить, либо в общедоступном заголовке, либо, по крайней мере, в частной категории. Преимущество этого состоит в том, что вы получите предупреждение о неполном определении класса, если вы забудете фактически переопределить метод ..., который время от времени оказывается полезным.

Что касается , когда его помещают. в общедоступном заголовке это довольно субъективно и, вероятно, зависит от стиля кодирования, используемого вами / вашей командой. Обычно я переименовываю метод в общедоступном заголовке только в том случае, если я планирую радикально изменить действия метода или если я не планирую вызывать версию метода суперкласса.

26
ответ дан 1 December 2019 в 02:02
поделиться

Люди часто используют заголовок в качестве документации для класса (и такие инструменты, как AutoDoc, поддерживают это). Очевидно, что если вы следуете этому соглашению, единственный разумный выбор - включить переопределенные методы, чтобы вы могли объяснить, что вы с ними сделали. В противном случае ваши документы для класса либо неполные, либо разбросаны по четырем углам земли.

Но если мы просто копируем декларацию, мне лично не нравится переопределять методы. Это' не СУХОЙ , и это излишне раздувает ваш заголовок. Чем меньше код, тем лучше код.

5
ответ дан 1 December 2019 в 02:02
поделиться
Другие вопросы по тегам:

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