Класс
Buildingможно усовершенствовать, добавив в него конструктор, автоматически инициализирующий поляFloors, AreaиOccupantsпри создании объекта. Обратите особое внимание на то, как создаются объекты классаBuilding.// Добавить конструктор в класс Building.
using System;
class Building {
public int Floors; // количество этажей
public int Area; // общая площадь здания
public int Occupants; // количество жильцов
// Параметризированный конструктор для класса Building, public Building(int f, int a, int o) {
Floors = f;
Area = a;
Occupants = o;
} \
// Возвратить площадь на одного человека, public int AreaPerPerson {
return Area / Occupants;
}
// Возвратить максимальное количество человек, занимающих здание,
// исходя из заданной минимальной площади на одного человека. ^ public int MaxOccupant(int minArea) { return Area / minArea;
}
}
// Использовать параметризированный конструктор класса Building, class BuildingDemo { static void Main {
Building house = new Building(2, 2500, 4);
Building office = new Building(3, 4200, 25);
Console.WriteLine("Максимальное количество человек в доме, \п" +
"если на каждого должно приходиться " +
300 ,+ " кв. футов: " + house.MaxOccupant(300));
Console.WriteLine("Максимальное количество человек " +
"в учреждении, \п" +
"если на каждого должно приходиться " +
300 + " кв. футов: " + office.MaxOccupant(300) );
}
}
Результат выполнения этой программы оказывается таким же, как и в предыдущей ее версии.
Оба объекта,
houseиoffice,были инициализированы конструкторомBuilding при их создании в соответствии с параметрами, указанными в этом конструкторе. Например, в строкеBuilding house = new Building(2, 2500, 4);
конструктору
Building () передаются значения 2, 2500 и 4 при создании нового объекта. Следовательно, в копиях переменных экземпляраFloors, AreaиOccupantsобъектаhouseбудут храниться значения 2, 2500 и 4 соответственно.Еще раз об операторе new
Теперь, когда вы ближе ознакомились с классами и их конструкторами, вернемся к оператору new, чтобы рассмотреть его более подробно. В отношении классов общая форма оператора new такова: