Как вы узнали из главы 1, классы — это инкапсулированные наборы данных и методов, обрабатывающих эти данные. Иначе говоря, методы определяют поведение классов. Мы называем методы в соответствии с действиями, выполняемыми классами по нашему желанию в наших интересах. До сих пор я не вдавался в подробности определения и вызова методов на С#. Вот этому и будет посвящена данная глава: здесь вы узнаете о ключевых словах параметров методов
re/и out, а
также как с их помощью определяются методы, которые возвращают вызывающему коду больше одного значения. Вы также научитесь определять перегруженные методы — когда несколько методов с одинаковым именем могут по-разному функционировать в зависимости от типов и/или числа переданных им аргументов. После этого вы узнаете, как поступать в ситуациях, когда до момента выполнения неизвестно точное число аргументов метода. В завершение мы рассмотрим виртуальные методы на основе обсуждения наследования (см. главу 5) и способов определения статических методов.