Классы в языке С#
Язык C# является объектно-ориентированным языком программирования. Это значит, что любую программу (проект) на языке C# можно представить в виде одного или нескольких объектов , которые могут взаимодействовать между собой.
Описанием объекта является класс , а объект представляет
экземпляр этого класса .
По умолчанию проект консольного приложения содержит один класс
Program , с которого и начинается выполнение программы.
Класс в C# -это пользовательский тип данных .
Класс представляет собой конструкцию, которая объединяет поля, свойства и методы. Класс является определением для создания объектов или экземпляров класса. Класс определяется с помощью ключевого слова сlass :
Синтаксис объявления:
[Спецификаторы] class имя_класса
{
тело_класса
}
Пример объявления класса Человек
Где определяется класс ?
Класс можно определять внутри пространства имен, вне пространства имен, внутри другого класса . Классы могут помещаться в отдельные файлы, а могут располагаться в файле, где располагается класс Program.
Файл Program.cs будет выглядеть следующим образом:
В теле класса располагаются его члены - поля, свойства, методы,
события.
Поля – это те переменные, которые используются внутри класса.
Методы реализуют вычисления и другие действия, выполняемые
классом или его экземпляром.
Каждый класс имеет свои спецификаторы , которые определяют
свойства класса, а также доступность класса для других
элементов программы.
Спецификаторы со второго по шестой называются
спецификаторами доступа .
Они определяют, откуда можно непосредственно обращаться к
данному классу. Спецификаторы доступа могут комбинироваться с
остальными спецификаторами .
Для обращения к элементам класса (как к данным, так и к функциям)
используют оператор точку.
Пример: создадим класс автомобиля, у которого есть название, значение топлива в баке и значение расхода топлива. Метод GO имитирует движение автомобиля, если топлива не достаточно, он не поедет, в противном случае метод сработает и из запаса топлива будет вычтено значение расход топлива
Создание экземпляра класса
Создадим экземпляры класса и воспользуемся ими
Итак, создали два экземпляра класса Car и в момент создания инициализировали поля классов. Оба автомобиля имеют разные названия, одинаковый объем бака, но разный расход топлива. Теперь возможно запустить машины с помощью метода GO:
Инициализаторы объектов
Для инициализации объектов классов можно применять инициализаторы. Инициализаторы представляют передачу в фигурных скобках значений доступным полям и свойствам объекта:
Person tom = new Person { name = “Tom ", age=31};
tom.GetInfo(); // Имя: Tom Возраст: 31
С помощью инициализатора объектов можно присваивать значения всем доступным полям и свойствам объекта в момент создания без явного вызова конструктора.