if(b1.AreaPerPerson() > b2.AreaPerPerson())
Console.WriteLine("В здании b1 больше места для каждого человека");
Использование параметров
При вызове метода ему можно передать одно или несколько значений. Значение, передаваемое методу, называется аргументом. А переменная, получающая аргумент, называется формальным параметром , или просто параметром. Параметры объявляются в скобках после имени метода. Синтаксис объявления параметров такой же, как и у переменных. А областью действия параметров является тело метода. За исключением особых случаев передачи аргументов методу, параметры действуют так же, как и любые другие переменные.
Ниже приведен пример программы, в котором демонстрируется применение параметра. В классе ChkNum
используется метод IsPrime(),
который возвращает значение true
, если ему передается значение, являющееся простым числом. В противном случае он возвращает значение false.
Следовательно, возвращаемым для метода IsPrime()
является тип bool.
// Простой пример применения параметра.
using System;
class ChkNum {
// Возвратить значение true, если значение
// параметра х окажется простым числом,
public bool IsPrime(int x) {
if (x <= 1) return false;
for (int i=2; i <= x/i; i++)
if ( (x % i) == 0) return false;
return true;
}
}
class ParmDemo {
static void Main() {
ChkNum ob = new ChkNum();
for (int i=2; i < 10; i++)
if(ob.IsPrime(i))
Console.WriteLine(i + " простое число.");
else
Console.WriteLine(i + " непростое число.");
}
}
Вот какой результат дает выполнение этой программы.
2 простое число.
3 простое число.
4 непростое число.
5 простое число.
6 непростое число.
7 простое число.
8 непростое число.
9 непростое число.
В данной программе метод IsPrime()
вызывается восемь раз, и каждый раз ему передается другое значение. Проанализируем этот процесс более подробно. Прежде всего обратите внимание на то, как вызывается метод IsPrime().
Его аргумент указывается в скобках. Когда метод IsPrime()
вызывается в первый раз, ему передается значение 2. Следовательно, когда метод IsPrime()
начинает выполняться, его параметр х принимает значение 2. При втором вызове этого метода его параметр х принимает значение 3, при третьем вызове — значение 4 и т.д. Таким образом, значение, передаваемое методу IsPrime()
в качестве аргумента при его вызове, представляет собой значение, которое принимает его параметр х.
У метода может быть не только один, но и несколько параметров. Каждый его параметр объявляется, отделяясь от другого запятой. В качестве примера ниже приведен класс ChkNum
, который расширен дополнительным методом LeastComFactor(),
возвращающим наименьший общий множитель двух его аргументов. Иными словами, этот метод возвращает наименьшее число, на которое оба его аргумента делятся нацело.
// Добавить метод, принимающий два аргумента.
using System;
class ChkNum {
// Возвратить значение true, если значение
// параметра х окажется простым числом,
public bool IsPrime(int x) {
if (x <= 1) return false;
for (int i = 2; i <= x / i; i++) if ((x % i) == 0) return false;
return true;
}
// Возвратить наименьший общий множитель,
public int LeastComFactor(int a, int b) {
int max;
if (IsPrime(a) || IsPrime(b)) return 1;
max = a < b ? a : b;
for (int i = 2; i <= max / 2; i++)
if (((a % i) == 0) && ((b % i) == 0)) return i;
return 1;
}
}
class ParmDemo {
static void Main() {
ChkNum ob = new ChkNum();
int a, b;
for (int i = 2; i < 10; i++)
if (ob.IsPrime(i))
Console.WriteLine(i + " простое число.");
else
Console.WriteLine(i + " непростое число.");
a = 7;
b = 8;
Читать дальше