Несмотря на отсутствие соответствующего правила в синтаксисе С#, правильно сконструированный класс должен определять одну и только одну логическую сущность. Например, класс, в котором хранятся Ф.И.О. и номера телефонов, обычно не содержит сведения о фондовом рынке, среднем уровне осадков, циклах солнечных пятен или другую информацию, не связанную с перечисляемыми фамилиями. Таким образом, в правильно сконструированном классе должна быть сгруппирована логически связанная информация. Если же в один и тот же класс помещается логически несвязанная информация, то структурированность кода быстро нарушается.
Классы, использовавшиеся в приведенных ранее примерах программ, содержали только один метод:Main . Но в представленной выше общей форме определения класса методMain не указывается. Этот метод требуется указывать в классе лишь в том случае, если программа начинается с данного класса.
Определение класса
Для тогочтобы продемонстрировать классы на конкретных примерах, разработаем постепенно класс, инкапсулирующий информацию о зданиях, в том числе о домах, складских помещениях, учреждениях и т.д. В этом классе (назовем егоBuilding)будут храниться три элемента информации о зданиях: количество этажей, общая площадь и количество жильцов.
Ниже приведен первый вариант классаBuilding.В нем определены три переменные экземпляра:Floors, AreaиOccupants.Как видите, в классеBuildingвообще отсутствуют методы. Это означает, что в настоящий момент этот класс состоит только из данных. (Впоследствии в него будут также введены методы.)
class Building {
public int Floors; // количество этажей public int Area; // общая площадь здания
public int Occupants; // количество жильцов
}
Переменные экземпляра, определенные в классеBuilding,демонстрируют общий порядок объявления переменных экземпляра. Ниже приведена общая форма для объявления переменных экземпляра:
где