// Присвоить значения полям в объекте office,
office.Occupants = 25;
office.Area = 4200;
office.Floors
// Получить площадь на одного человека в жилом доме.
areaPP = house.AreaPerPerson();
Console.WriteLine("Дом имеет:\n " +
house.Floors + " этажа\n " +
house.Occupants + " жильца\n " +
house.Area +
" кв. футов общей площади, из них\n " +
areaPP + " приходится на одного человека");
Console.WriteLine();
// Получить площадь на одного человека в учреждении.
areaPP = office.AreaPerPerson();
Console.WriteLine ("Учреждение имеет :\n " +
office.Floors + " этажа\n " +
office.Occupants + " работников\n " +
office.Area +
" кв. футов общей площади, из них\n " +
areaPP + " приходится на одного человека");
}
}
Эта программа дает такой же результат, как и прежде.
В данной программе обратите внимание на следующее: когда метод AreaPerPerson()
вызывается, он указывается в правой части оператора присваивания. А в левой части этого оператора указывается переменная, которой передается значение, возвращаемое методом AreaPerPerson().
Следовательно, после выполнения оператора
areaPP = house.AreaPerPerson();
в переменной areaPP
сохраняется величина площади на одного человека в жилом доме (объект house).
Обратите также внимание на то, что теперь метод AreaPerPerson()
имеет возвращаемый тип int
. Это означает, что он будет возвращать целое значение вызывающей части программы. Тип, возвращаемый методом, имеет очень большое значение, поскольку тип данных, возвращаемых методом, должен быть совместим с возвращаемым типом, указанным в методе. Так, если метод должен возвращать данные типа double, то в нем следует непременно указать возвращаемый тип double.
Несмотря на то что приведенная выше программа верна, она, тем не менее, написана не совсем эффективно. В частности, в ней можно вполне обойтись без переменной areaPP
, указав вызов метода AreaPerPerson()
непосредственно в операторе, содержащем вызов метода WriteLine(),
как показано ниже.
Console.WriteLine("Дом имеет: " +
house.Floors + " этажа " + house.Occupants + " жильца " + house.Area +
" кв. футов общей площади, из них " + house.AreaPerPerson() +
" приходится на одного человека");
В данном случае при выполнении оператора, содержащего вызов метода WriteLine(),
автоматически вызывается метод house.AreaPerPerson(),
а возвращаемое им значение передается методу WriteLine().
Кроме того, вызов метода AreaPerPerson()
можно использовать всякий раз, когда требуется получить величину площади на одного человека для конкретного объекта типа Building
. Например, в приведенном ниже операторе сравниваются величины площади на одного человека для двух зданий.
if(b1.AreaPerPerson() > b2.AreaPerPerson())
Console.WriteLine("В здании b1 больше места для каждого человека");
При вызове метода ему можно передать одно или несколько значений. Значение, передаваемое методу, называется
Ниже приведен пример программы, в котором демонстрируется применение параметра. В классе ChkNum
используется метод IsPrime(),
который возвращает значение true
, если ему передается значение, являющееся простым числом. В противном случае он возвращает значение false.
Следовательно, возвращаемым для метода IsPrime()
является тип bool.
// Простой пример применения параметра.
using System;
class ChkNum {