C# для начинающих: Классы и объекты на практике (Урок 14)

Теория на практике

В прошлом уроке мы теоретически познакомились с понятиями класса и объекта. Теперь реализуем это на практике, описав робота с помощью классов и объектов.

Создание класса «Робот»

Для описания робота создадим класс. Рекомендуется создавать отдельный файл для каждого класса. В проекте, рядом с основным файлом, создайте новый файл робот.cs. Расширение .cs указывает на файл C#.

Внутри файла:

  • Укажите используемые библиотеки: using System; (даже если пока не используется, это стандартная практика).
  • Укажите пространство имён, например: namespace Project { … } (используйте то же пространство имён, что и в основном классе).
  • Создайте класс: class Робот { … }

Поля и методы класса

Внутри класса описываем поля (переменные) и методы (функции), представляющие характеристики робота. На данном этапе мы описываем «скелет» или «чертеж» робота. Конкретные роботы (объекты) будут созданы на основе этого класса.

Наш робот будет иметь следующие характеристики:

  • Название (строка)
  • Вес (число)
  • Координаты (массив)

Модификаторы доступа и объявление полей

Перед описанием полей указываем модификатор доступа:

  • public: поле доступно отовсюду.
  • protected: поле доступно внутри класса и в классах-наследниках (об этом подробнее в следующих уроках).
  • private: поле доступно только внутри класса.

На начальном этапе будем использовать public. В дальнейшем рассмотрим другие модификаторы.

Пример объявления полей:

public string Name;
public int Weight;
public byte[] Coordinates;

Создание и использование объектов

Объект создаётся внутри функции Main основного класса:

Робот robot = new Робот();

Это создаёт объект типа Робот и выделяет для него память. Теперь можно обращаться к полям объекта через точку:

robot.Name = "Бог";
robot.Weight = 800;
robot.Coordinates = new byte[] { 10, 20, 30 }; // Выделение памяти для массива

Значения полей можно вывести на экран:

Console.WriteLine($"Имя робота: {robot.Name}, вес: {robot.Weight}");

Зачем использовать классы?

Использование классов структурирует код, делает его более понятным и удобным для работы, особенно при большом количестве объектов. Без классов, для каждого объекта пришлось бы создавать множество отдельных переменных, что затруднило бы понимание и поддержку кода.

Добавление методов

Для добавления функциональности ко всем объектам, добавляем методы в класс. Например, добавим метод для «полёта»:

public void Fly() {
    // Реализация полёта
}

Этот метод будет доступен для всех объектов типа Робот.

Инкапсуляция и модификатор private

Для обеспечения инкапсуляции (защиты данных), поля обычно объявляются с модификатором private. Доступ к ним осуществляется через специальные методы (сеттеры и геттеры):

private string name;

public void SetName(string newName) {
    name = newName;
}

public string GetName() {
    return name;
}

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

Что будем искать? Например,программа