return Area / Occupants;
}
}
// Использовать значение, возвращаемое методом AreaPerPerson. class BuildingDemo { static void Main {
Building house = new Building;
Building office = new Building;
int areaPP; // площадь на одного человека
// Присвоить значения полям в объекте house, house.Occupants = 4; house.Area = 2500; house.Floors = 2;
// Присвоить значения полям в объекте office, office.Occupants = 25; office.Area = 4200; office.Floors
// Получить площадь на одного человека в жилом доме. areaPP = house.AreaPerPerson;
Console.WriteLine("Дом имеет:\n " +
house.Floors + " этажа\п " + house.Occupants + " жильца\п " + house.Area +
" кв. футов общей площади, из них\п " + areaPP + " приходится на одного человека");
Console.WriteLine ;
// Получить площадь на одного человека в учреждении. areaPP = office.AreaPerPerson;
Console'. WriteLine ("Учреждение имеет :\n " +
office.Floors + " этажа\п " +
office.Occupants + " работников\п " +
office.Area +
" кв. футов общей площади, из них\п " + 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 +
" приходится на одного человека");