}

Обратите внимание на то, что этот конструктор обозначается как public. Дело в том, что он должен вызываться из кода, определенного за пределами его класса. В этом конструкторе переменной экземпляра класса MyClass присваивается значение 10. Он вызывается в операторе new при создании объекта. Например, в следующей строке:

MyClass tl = new MyClassO;

конструктор MyClass () вызывается для объекта tl, присваивая переменной его экземпляра tl. х значение 10. То же самое происходит и для объекта t2. После конструирования переменная t2 . х будет содержать то же самое значение 10. Таким образом, выполнение приведенного выше кода приведет к следующему результату.

10 10

Параметризированные конструкторы

В предыдущем примере использовался конструктор без параметров. В некоторых случаях этого оказывается достаточно, но зачастую конструктор, должен принимать один или несколько параметров. В конструктор параметры вводятся таким же образом, как и в метод. Для этого достаточно объявить их в скобках после имени конструктора. Ниже приведен пример применения параметризированного конструктора MyClass.

// Параметризированный конструктор.

using System;

class MyClass { public int x;

public MyClass(int i) { x = i;

}

}

class ParmConsDemo { static void Main() {

MyClass tl = new MyClass(10);

MyClass t2 = new MyClass(88);

Console.WriteLine(tl.x + ' ' + t2.x);

}

}

При выполнении этого кода получается следующий результат.

10 88

В данном варианте конструктора MyClass () определен параметр i, с помощью которого инициализируется переменная экземпляра х. Поэтому при выполнении следующей строки кода:

MyClass tl = new MyClass(10);

параметру i передается значение, которое затем присваивается переменной х.

Добавление конструктора в класс Building

Класс 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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату