Определение
classобозначает создание нового типа данных. В данном случае новый тип данных называетсяBuilding.С помощью этого имени могут быть объявлены объекты типаBuilding.Не следует, однако, забывать, что объявлениеclassлишь описывает тип, но не создает конкретный объект. Следовательно, в приведенном выше фрагменте кода объекты типаBuildingне создаются.Для того чтобы создать конкретный объект типа
Building,придется воспользоваться следующим оператором.Building house = new Building; // создать объект типа Building
После выполнения этого оператора объект
houseстанет экземпляром классаBuilding,т.е. обретет "физическую" реальность. Не обращайте пока что внимание на отдельные составляющие данного оператора.Всякий раз, когда получается экземпляр класса, создается также объект, содержащий собственную копию каждой переменной экземпляра, определенной в данном классе. Таким образом, каждый объект типа
Buildingбудет содержать свои копии переменных экземпляраFloors, AreaиOccupants.Для доступа к этим переменным служит оператор доступа к члену класса, который принято называтьВ этой форме
объектуказывается слева, а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("Дом имеет:\п " +
house.Floors + " этажа\п " + house.Occupants + " жильца\п " + house.Area +
" кв. футов общей площади, из них\п " + агеаРР + " приходится на одного человека");
}
}