Почему конструкторы злые? - PullRequest
2 голосов
/ 03 мая 2011

Я вспоминаю, что читал статью о строителях, которые являются злыми (но не могут это определить).Автор отметил, что конструкторы являются частным случаем методов;но имеют ограничения (например, они не могут иметь возвращаемого значения).

Являются ли конструкторы злыми?Лучше не иметь конструкторов и вместо этого полагаться на метод, такой как Initialize, наряду со значениями по умолчанию для переменных-членов?

(Ваш ответ может быть специфичным для C # или Java, если вы должны определить язык.)

Ответы [ 13 ]

0 голосов
/ 03 мая 2011

Конструкторы не злы и не добры. Конструкторы - это инструмент, который может быть очень полезен при правильном использовании и в правильном контексте. На самом деле, по крайней мере, в языках .NET, таких как C #, если вы явно не объявляете конструктор в своем коде, конструктор будет создан для вас компилятором без функциональности.

0 голосов
/ 03 мая 2011

Конструкторы не зло.Какую бы статью вы ни читали, это неправильно, и вам лучше забыть ссылку.

0 голосов
/ 03 мая 2011

Я бы не сказал, что конструкторы - это зло.

Конструкторы возвращают ссылку на Объект, который вы создаете, и должны использоваться для установки объекта в состояние по умолчанию. Я вижу преимущества использования метода Initialize, но особого смысла нет. ЕСЛИ вам не нужно инициализировать некоторую логику ПОСЛЕ того, как объекту было выделено пространство стека и начальные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...