Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Добавление конструктора в класс Building C# Полное руководство Герберт Шилдт

Добавление конструктора в класс Building C# Полное руководство Герберт Шилдт

Класс 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(
                  "Максимальное количество человек в доме, \n" +
                  "если на каждого должно приходиться " +    ,
                  300 + " кв. футов: " + house.MaxOccupant(300));

      Console.WriteLine(
                         "Максимальное количество человек " +
                         "в учреждении, \n" +
                         "если на каждого должно приходиться " +
                         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 соответственно.