Вход/Регистрация
C# 4.0 полное руководство - 2011
вернуться

Шилдт Герберт

Шрифт:

}

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

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 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 такова:

new имя_класса (список_аргументов)

где имя_класса обозначает имя класса, реализуемого в виде экземпляра его объекта. А имя_класса с последующими скобками обозначает конструктор этого класса. Если в классе не определен его собственный конструктор, то в операторе new будет использован конструктор, предоставляемый в C# по умолчанию. Следовательно, оператор new может быть использован для создания объекта, относящегося к классу любого типа.

  • Читать дальше
  • 1
  • ...
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: