Физическое представление класса появится в оперативной памяти лишь после того, как будет создан объект этого ( класса.
Общая форма определения класса
При определении класса объявляются данные, которые он содержит, а также код, оперирующий этими данными. Если самые простые классы могут содержать только код или только данные, то большинство настоящих классов содержит и то и другое.
Вообще говоря, данные содержатся вчленах данных, определяемых классом, а код — вфункциях-членах.Следует сразу же подчеркнуть, что в C# предусмотрено несколько разновидностей членов данных и функций-членов. Например, к членам данных, называемым такжеполями,относятся переменные экземпляра и статические переменные, а к функциям-членам — методы, конструкторы, деструкторы, индексаторы, события, операторы и свойства. Ограничимся пока что рассмотрением самых основных компонентов класса: переменных экземпляра и методов. А далее в этой главе будут представлены конструкторы и деструкторы. Об остальных разновидностях членов класса речь пойдет в последующих главах.
Класс создается с помощью ключевого словаclass.Ниже приведена общая форма определения простого класса, содержащая только переменные экземпляра и методы.
classимя_класса {
// Объявление переменных экземпляра.
доступ тип переменная1;
доступ тип переменная2;
//...
доступ тип переменнаяЫ;
// Объявление методов.
доступ возращаемый_тип метод1 (параметры) {
11тело метода
}
доступ возращаемый_тип метод2 (параметры){
// тело метода
}
//. . .
доступ возращаемый_тип методы(параметры){
// тело метода
}
}
Обратите внимание на то, что перед каждым объявлением переменной и метода указываетсядоступ.Это спецификатор доступа, напримерpublic,определяющий порядок доступа к данному члену класса. Как упоминалось в главе 2, члены класса могут быть как закрытыми(private)в пределах класса, так открытыми(public),т.е. более доступными. Спецификатор доступа определяеттипразрешенного доступа. Указывать спецификатор доступа не обязательно, но если он отсутствует, то объявляемый член считается закрытым в пределах класса. Члены с закрытым доступом могут использоваться только другими членами их класса. В примерах программ, приведенных в этой главе, все члены, за исключением методаMain , обозначаются как открытые(public).Это означает, что их можно использовать во всех остальных фрагментах кода — даже в тех, что определены за пределами класса. Мы еще вернемся к обсуждению спецификаторов доступа в главе 8.
ПРИМЕЧАНИЕ
Помимо спецификатора доступа, в объявлении члена класса могут также присутствовать один или несколько модификаторов. О модификаторах речь пойдет далее в этой главе.