Int Area; // общая площадь здания



Public int Occupants; // количество жильцов

}

 

Переменные экземпляра, определенные в классе Building, демонстрируют общий порядок объявления переменных экземпляра. Ниже приведена общая форма для объявления переменных экземпляра:

 

доступ тип имя_переменной ;

 

где доступ обозначает вид доступа; тип — конкретный тип переменной, а имя_переменной — имя, присваиваемое переменной. Следовательно, за исключением спецификатора доступа, переменная экземпляра объявляется таким же образом, как и локальная переменная. Все переменные объявлены в классе Building с предваряющим их модификатором доступа public. Как пояснялось выше, благодаря этому они становятся доступными за пределами класса Building.

Определение class обозначает создание нового типа данных. В данном случае новый тип данных называется Building. С помощью этого имени могут быть объявлены объекты типа Building. Не следует, однако, забывать, что объявление class лишь описывает тип, но не создает конкретный объект. Следовательно, в приведенном выше фрагменте кода объекты типа Building не создаются.

Для того чтобы создать конкретный объект типа Building, придется воспользоваться следующим оператором.

 

Building house = new Building(); // создать объект типа Building

 

После выполнения этого оператора объект house станет экземпляром класса Building, т.е. обретет "физическую" реальность. Не обращайте пока что внимание на отдельные составляющие данного оператора.

Всякий раз, когда получается экземпляр класса, создается также объект, содержащий собственную копию каждой переменной экземпляра, определенной в данном классе. Таким образом, каждый объект типа Building будет содержать свои копии переменных экземпляра Floors, Area и Occupants. Для доступа к этим переменным служит оператор доступа к члену класса, который принято называть оператором-точкой. Оператор-точка связывает имя объекта с именем члена класса. Ниже приведена общая форма оператора-точки.

 

объект.член  

 

В этой форме объект указывается слева, а член — справа. Например, присваивание значения 2 переменной Floors объекта house осуществляется с помощью следующего оператора.

 

house.Floors = 2;

 

В целом, оператор-точка служит для доступа к переменным экземпляра и методам. Ниже приведен полноценный пример программы, в которой используется класс Building.

 

// Программа, в которой используется класс Building.

using System;

 

class Building {

Public int Floors; // количество этажей

Public int Area; // общая площадь здания

Public int Occupants; // количество жильцов

}

// В этом классе объявляется объект типа Building,  

class BuildingDemo {  

static void Main() {

Building house = new Building(); // создать объект типа Building  

Int areaPP; // площадь на одного человека

// Присвоить значения полям в объекте house,  

 

house.Occupants = 4;  

house.Area = 2500;  

house.Floors = 2;

 

Вычислить площадь на одного человека.

areaPP = house.Area / house.Occupants;

 

Console.WriteLine("Дом имеет:\n " +

house.Floors + " этажа\n " +  

house.Occupants + " жильца\n " +  

house.Area +

" кв. футов общей площади, из них\n " +  

areaPP + " приходится на одного человека");

}

}

 

Эта программа состоит из двух классов: Building и BuildingDemo. В классе BuildingDemo сначала создается экземпляр house класса Building с помощью метода Main(), а затем в коде метода Main() осуществляется доступ к переменным экземпляра house для присваивания им значений и последующего использования этих значений. Следует особо подчеркнуть, что Building и BuildingDemo — это два совершенно отдельных класса. Единственная взаимосвязь между ними состоит в том, что в одном из них создается экземпляр другого. Но, несмотря на то, что это раздельные классы, у кода из класса BuildingDemo имеется доступ к членам класса Building, поскольку они объявлены как открытые (public). Если бы при их объявлении не был указан спецификатор доступа public, то доступ к ним ограничивался бы пределами Building, а следовательно, их нельзя было бы использовать в классе BuildingDemo.

Допустим, что исходный текст приведенной выше программы сохранен в файле UseBuilding.cs. В результате ее компиляции создается файл UseBuilding.exe. При этом оба класса, Building и BuildingDemo, автоматически включаются в состав исполняемого файла. При выполнении данной программы выводится следующий результат.

 

Дом имеет:

Этажа

Жильца


Дата добавления: 2019-02-12; просмотров: 257; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!