Читаем C# 4.0 полное руководство - 2011 полностью

Класс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 имя_класса(список_аргументов)

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT