Книга: C# для профессионалов. Том II
Отсутствие разделения определения и объявления
Отсутствие разделения определения и объявления
С отсутствием опережающих объявлений в C# связано то, что в C# не существует никакого разделения объявления и определения для любых элементов. Например, в C++ принято описывать класс в заголовочном файле сигнатурой функций членов, а полные определения даны в другом месте:
class CMyClass {
public:
void MyMethod(); // определение этой функции находится в файле C++,
// если только MyMethod() не является встраиваемой функцией
// и т.д.
В C# этого не делают. Методы всегда определяются полностью в определении класса
class MyClass {
public void MyMethod() {
// здесь реализация
На первый взгляд может показаться, что это ведет к коду, который труднее читать. Достоинство подхода C++ в этом вопросе в конце концов состоит в том что можно просто просмотреть заголовочный файл, чтобы узнать, какие открытые функции предоставляет класс, не обращаясь к реализации этих функций. Однако это больше не требуется в C#, частично в связи с использованием современных редакторов (редактор Visual Studio.NET позволяет сворачивать реализации методов), а частично в связи с тем, что C# имеет средство автоматического создания документации для кода в формате XML.
- 4.1. Суть обзора задач в тайм-менеджменте. Основные понятия и определения
- Использование BIOS POST для определения поломок
- Не хочу, чтобы компьютером пользовались в мое отсутствие. Как установить пароль и блокировать машину?
- Как можно узнать, когда в мое отсутствие включался компьютер, какие программы запускались и т. д.?
- Объявления
- 5.1.1. Определения
- A8.3. Объявления структур и объединений
- Отсутствие библиотеки libc
- Отсутствие защиты памяти
- Определения функций
- Другие методы определения атрибутов файлов и каталогов
- Опережающие объявления