office.Floors + " этажа\п " +
office.Occupants + " работников\п " +
office.Area +
" кв. футов общей площади, из них"); office.AreaPerPerson ;
}
}
Эта программа дает такой же результат, как и прежде.
Дом имеет:
2 этажа
4 жильца
2500 кв. футов общей площади, из них 625 приходится на одного человека
Учреждение имеет:
3 этажа
25 работников
4200 кв. футов общей площади, из них 168 приходится на одного человека
Рассмотрим основные элементы этой программы, начиная с методаAreaPerPerson . Первая его строка выглядит следующим образом.
public void AreaPerPerson {
В этой строке объявляется метод, именуемыйAreaPerPersonи не имеющий параметров. Для него указывается типpublic,а это означает, что его можно вызывать из любой другой части программы. МетодAreaPerPerson возвращает пустое значение типаvoid,т.е. он практически ничего не возвращает вызывающей части программы. Анализируемая строка завершается фигурной скобкой, открывающей тело данного метода. Тело методаAreaPerPerson состоит всего лишь из одного оператора.
Console.WriteLine(" " + Area / Occupants +
" приходится на одного человека");
Этот оператор осуществляет вывод величины площади на одного человека, которая получается путем деления общей площади здания (переменнойArea)на количество жильцов (переменнуюOccupants).А поскольку у каждого объекта типаBuildingимеется своя копия переменныхAreaиOccupants,то при вызове методаAreaPerPerson в вычислении используются копии этих переменных, принадлежащие вызывающему объекту.
МетодAreaPerPerson завершается закрывающейся фигурной скобкой. Когда встречается эта скобка, управление передается обратно вызывающей части программы.
Далее проанализируем внимательно следующую строку кода из методаMain .
house.AreaPerPerson ;
В этой строке вызывается методAreaPerPerson для объектаhouse.Это означает, что методAreaPerPerson вызывается относительно объекта, на который ссылается переменнаяhouse,и для этой цели служит оператор-точка. Когда методAreaPerPerson вызывается, ему передается управление программой. А по его завершении управление передается обратно вызывающей части программы, выполнение которой возобновляется со строки кода, следующей после вызова данного метода.