Определение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 +
" кв. футов общей площади, из них\п " + агеаРР + " приходится на одного человека");
}
}