Понятие класса

Мы уже отмечали, что язык C# является объектно-ориентированным языком программирования, основным понятием которого является понятие класса. Во всех примерах программ при изучении языка C# мы постоянно использовали структуры типа класс и даже делали робкие попытки дать определение класса, но всегда при этом говорили, что изучением класса мы займемся в одной из следующих лекций.

В этой лекции мы будем заниматься только классами.

Начнем с понятия класса. Естественно начнем с определений, которые приводят в своих книгах по программированию на языке C# преподаватели ВУЗов.

Фаронов В.В. определяет класс как фрагмент кода, перед которым стоит зарезервированное слово class [1]. Или «Класс – это всего лишь тип данных, то есть «схема», по которой изготавливаются объекты – реальные экземпляры класса.».

Павловская Т.А. [2] приводит следующее определение класса «Класс является обобщенным понятием, определяющим характеристики и поведение некоторого множества конкретных объектов этого класса, называемых экземплярами класса.».

Необходимо отметить, что ООП существовало до появления языка C# и понятие класса существует уже давно. Самое короткое определение, которое мы встречали в литературе это следующее определение класса – «Классы – это типы, определяемые программистом».

В этом определении отображена очень важная особенность класса – это тип данных, новый по сравнению с массивами, записями или структурами. Однако не всякий тип данных, определяемый программистом, является классом. Второй важной особенность в определение класса должен быть состав класса или хотя бы намек на его состав и в тоже время определение класса должно быть кратким и легко запоминаемым, например.

Класс это тип данных, содержащий поля, методы и события.

Тип данных - это семантическая единица, которая описывает свойства и поведение множества объектов, называемых экземплярами класса.

Синтаксически класс представляет описание данных, называемых полями класса, описание методов класса и описание событий класса.

Некоторые авторы выделяют классы представленные модулями в самостоятельные группы, например, классы элементов управления при визуальном программировании. Такие классы несут дополнительную нагрузку. Они являются самостоятельными архитектурными единицами построения проектов.

Изучение класса начнем с изучения его формата записи.

Обязательный формат записи класса содержит служебное слово class,за которым, располагается его имя и далее в фигурных скобках находится тело класса. Это так называемый минимальный состав описания класса.

Общее описание класса, включающее необязательные элементы (они выделены квадратными скобками), имеет следующий формат записи:

[ атрибуты ] [ спецификаторы ]

class имя_класса [: родители ]

{ тело_класса },

где

атрибуты – задают дополнительную информацию о классе;

спецификаторы – определяют условие доступа к составляющим класса;

родители – базовые классы, которые наследует наш класс;

тело класса – определяет состав элементов класса.

Возможными спецификаторами в объявлении класса могут быть abstract, sealed и protected, о которых подробно будет говориться при рассмотрении наследования. Спецификаторы private, public, static и interna l определяют доступность класса для программы. Говорят, что спецификатор private полностью закрывает видимость класса, а public делает класс видимым (доступным) для любого фрагмента программы. По умолчанию класс имеет спецификатор доступа internal – класс доступен в сборке, в которой он определен. Спецификатор static позволяет использовать класс и его элементы, не создавая переменной этого класса (объекта класса).

Все перечисленные спецификаторы применимы как для класса, так и для отдельных его членов, например, полей, методов.

Некоторые необязательные элементы формата описания класса мы будем рассматривать по мере изучения дисциплины.

Класс это тип данных – шаблон, который можно «наполнить» некоторыми значениями, т.е. получить экземпляр класса – переменную типа класс или объект.

Подставляя в программу (в модель решения задачи) различные значения, мы будем получать разные объекты класса (различный результат работы программы), но тип класса (код программы) останется неизменным.

Класс можно описывать непосредственно внутри пространства имен или внутри другого класса. В последнем случае класс называется вложенным.

В языке C# класс является ссылочным типом и для размещения объекта класса в памяти компьютера необходимо использовать оператор new.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: