C# для профессионалов. Том II
Шрифт:
Можно использовать
Это имеет такой же результат, как:
Отметим, что это то же самое, что и
Последняя
Методы
Методы в C# определяются таким же образом, как функции в C++, с учетом факта, что методы C# всегда должны быть членами класса, и определение и объявление в C# всегда объединены:
Есть одно ограничение, состоящее в том, что методы-члены не могут объявляться как
Параметры методов
Как и в C++, по умолчанию параметры передаются в методы по значению. Если требуется это изменить, можно использовать ключевое слово
Передача по ссылке означает, что метод может изменять значение параметра. Передача по ссылке также осуществляется, чтобы улучшить производительность при работе с большими структурами, также как и в C++, передача по ссылке означает, что копируется только адрес. Отметим, однако, что, если при передаче по ссылке из соображений производительности вызываемый метод по-прежнему не изменяет значения параметра, то C# не разрешает присоединять модификатор
Параметры типа
Перезагрузка методов
Методы могут быть перезагружены таким же образом, как в C++. Однако C# не допускает в методах параметров по умолчанию. Это можно смоделировать с помощью перезагружаемой версии:
Для C++ можно сделать следующую запись:
В то время как в C# необходимо выполнить такие действия:
Свойства
Свойства не имеют эквивалента в ANSI C++, хотя они были введены как расширение в Microsoft Visual C++. Свойство является методом или парой методов, которые синтаксически оформлены для представления в вызывающем коде, как будто свойство является полем. Они существуют для ситуации, когда интуитивно удобнее вызывать метод с помощью синтаксиса поля, очевидным примером будет случай закрытого поля, которое должно быта инкапсулировано с помощью оболочки из открытых методов доступа. Предположим, что класс имеет такое поле
В C# можно реализовать эти методы, как аксессоры (методы доступа)
Чтобы определись эти методы доступа, свойство будет определяться следующим образом:
Хотя методы доступа
Камень. Книга шестая
6. Камень
Фантастика:
боевая фантастика
рейтинг книги
Попаданка для Дракона, или Жена любой ценой
Любовные романы:
любовно-фантастические романы
рейтинг книги
Пустоцвет
Любовные романы:
современные любовные романы
рейтинг книги
Девочка из прошлого
3. Айдаровы
Любовные романы:
современные любовные романы
рейтинг книги
Инквизитор Тьмы
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Диверсант. Дилогия
Фантастика:
альтернативная история
рейтинг книги
