Хотя некоторые методы не нуждаются в параметрах, большинство требует их передачи. Параметры позволяют обобщать метод. То есть метод с параметрами может работать с различными данными и/или применяться в ряде несколько различных ситуаций.
Скачать исходники для статьи можно ниже
В качестве иллюстрации рассмотрим очень простой пример.
Ниже показан метод, который возвращает квадрат числа 10.
int square() { return 10 * 10; }
Хотя этот метод действительно возвращает 100, его применение очень ограничено.
Однако если его изменить так, чтобы он принимал параметр, как показано
в следующем примере, метод square() может стать значительно более полезным.
int square(int i) { return i * i; }
Теперь метод square() будет возвращать квадрат любого значения, с которым он вызван. То есть теперь метод square() является методом общего назначения, который может вычислять квадрат любого целочисленного значения, а не только числа 10.
Приведем примеры:
int х, у; х = square(5); // х равно 2 5 х = square(9); // x равно 81 у = 2; x = square(у); // x равно 4
В первом обращении к методу square() значение 5 будет передано параметру i. Во втором обращении параметр i примет значение, равное 9. Третий вызов метода передает значение переменной у, которое в этом примере составляет 2.
Как видно из этих примеров, метод square() способен возвращать квадрат любых переданных ему данных.
Важно различать два термина: параметр и аргумент.
Параметр — это определенная в методе переменная, которая принимает значение при вызове метода. Например, в методе square() параметром является i.
Аргумент — это значение, передаваемое методу при его вызове. Например, методу square(100) в качестве аргумента передается значение 100. Внутри метода square() параметр i получает это значение.