Выбрать главу

Для того чтобы добавить метод в класс Building, достаточно указать его в области объявлений в данном классе. В качестве примера ниже приведен переработанный вариант класса Building, содержащий метод AreaPerPerson (), который выводит площадь, рассчитанную на одного человека в конкретном здании.

// Добавить метод в класс Building.

using System;

class Building {

public    int    Floors;    //    количество этажей

public    int    Area;    //    общая площадь здания

public    int    Occupants;    //    количество жильцов

// Вывести    площадь    на    одного человека,

public void AreaPerPerson()    {

Console.WriteLine("    " + Area / Occupants +

" приходится на одного человека");

}

}

// Использовать метод AreaPerPerson(). class BuildingDemo { static void Main() {

Building house = new Building();

Building office = new Building();

// Присвоить значения полям в объекте house, house.Occupants = 4; house.Area = 2500; house.Floors = 2;

// Присвоить значения полям в объекте office, office.Occupants = 25;

office.Area = 4200; office.Floors = 3;

Console.WriteLine("Дом имеет:\n    "    +

house.Floors + " этажа\п " + house.Occupants + " жильца\п " + house.Area +

^    "кв.    футов общей площади, из них");

house.AreaPerPerson() ;

Console.WriteLine ();

Console.WriteLine("Учреждение имеет:\n    " +

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() ;