Шаг 90.
Язык программирования C#. Начала
Знакомство с классами и объектами. Выводы
На этом шаге мы подведем некоторые итоги.
Подведем некоторый итог по изученному материалу.
- Класс представляет собой шаблон, на основе которого создаются объекты. Описание класса начинается с ключевого слова class, после которого указывают имя класса, а в блоке из фигурных скобок описывают поля и методы класса.
- Поля описываются так же, как и объявляются переменные: указывается идентификатор типа и имя поля. При описании методов указываются идентификатор типа возвращаемого результата, имя метода, список аргументов и команды, формирующие тело метода (выделяются фигурными скобками).
- Поля и методы класса называются членами класса. По умолчанию члены класса являются закрытыми - они доступны только внутри кода класса. Чтобы сделать поле или метод открытым (доступным вне пределов класса), его описывают со спецификатором уровня доступа public. Закрытые члены класса можно описывать с идентификатором уровня доступа private.
- Методы могут перегружаться: в классе может быть описано несколько версий метода с одним и тем же именем, но разными аргументами. Решение о том, какая версия метода используется, принимается на основе команды вызова метода с учетом количества и типа аргументов, фактически переданных методу.
- Конструктор является методом, автоматически вызываемым при создании объекта. Конструктор описывается особым образом: имя конструктора совпадает с именем класса, он не возвращает результат, и идентификатор типа результата для конструктора не указывается. Обычно конструктор описывается с ключевым словом public. У конструктора могут быть аргументы, и конструктор можно перегружать (в классе может быть несколько версий конструктора).
- Если в классе конструктор не описан, то используется конструктор по умолчанию: у него нет аргументов, и он не выполняет никаких дополнительных действий. Если в классе описана хотя бы одна версия конструктора, то конструктор по умолчанию больше не доступен.
- Деструктор является методом, автоматически вызываемым при удалении объекта из памяти. Имя деструктора получается объединением символа тильды ~ и названия класса. У деструктора нет аргументов, он не возвращает результат, и идентификатор типа результата для деструктора не указывается. В классе может быть только один деструктор.
- Для создания объекта класса используют оператор new, после которого указываются имя класса и аргументы (в круглых скобках), которые передаются конструктору. Ссылка на созданный объект записывается в объектную переменную. Объектная переменная объявляется так же, как и переменная простого типа, только в качестве идентификатора типа указывается имя класса.
- Обращение к нестатическим полям и методам выполняется с указанием объекта: после имени объекта через точку следует название поля или имя метода (с аргументами в круглых скобках или пустыми круглыми скобками, если аргументы не передаются).
- Статические поля и методы описываются с ключевым словом static. Статические поля и методы "не привязаны" к объекту и существуют, даже если ни один объект класса не создан. Обращение к статическим полям и методам выполняется так: имя класса, точка и название статического поля или метода (с аргументами или без). Если поле или метод используются в классе, в котором они описаны, то имя класса можно не указывать.
- Ключевое слово this в теле методов (в том числе конструкторов и деструкторов) может использоваться для обозначения объекта, из которого вызывается метод. Это же ключевое слово используется как команда вызова в одной версии конструктора другой версии конструктора. В таком случае в описании конструктора после закрывающей круглой скобки указываются двоеточие, ключевое слово this и круглые скобки, в которых можно указать аргументы, которые передаются вызываемой версии конструктора. Вызываемая версия конструктора определяется по переданным ей аргументам.
На следующем шаге мы рассмотрим несколько примеров программ, в которых используются классы и объекты.
Предыдущий шаг
Содержание
Следующий шаг