Введение в классы
Классы в C# являются основой объектно-ориентированного программирования (ООП). Класс — это шаблон или чертёж, который используется для создания объектов. Объект — это экземпляр класса.
Основы создания класса
Вот как может выглядеть простейший класс в C#:
public class Car
{
// Поля, свойства, методы и события класса
}
Поля и свойства
Поля и свойства класса – это переменные, которые хранят данные. Разница между ними в том, что свойства обеспечивают больший контроль над доступом к данным.
public class Car
{
// Поле
private string color;
// Свойство
public string Color
{
get { return color; }
set { color = value; }
}
}
Методы
Методы класса – это функции, которые выполняют действия с данными класса или выполняют операции, связанные с ним.
public class Car
{
private string color;
public string Color
{
get { return color; }
set { color = value; }
}
// Метод
public void Accelerate()
{
Console.WriteLine("Машина разгоняется!");
}
}
Конструкторы
Конструктор — специальный метод класса, который вызывается при создании объекта (экземпляра) класса.
public class Car
{
private string color;
// Конструктор
public Car(string initialColor)
{
color = initialColor;
}
public string Color
{
get { return color; }
set { color = value; }
}
public void Accelerate()
{
Console.WriteLine("Машина разгоняется!");
}
}
Использование класса
Для использования класса необходимо создать его экземпляр (объект):
Car myCar = new Car("Красный");
myCar.Accelerate();
Console.WriteLine($"Цвет машины: {myCar.Color}");
Наследование
Классы могут наследовать функциональность других классов. Это позволяет повторно использовать код и устанавливать иерархии классов.
public class ElectricCar : Car
{
public int BatteryLevel { get; set; }
public ElectricCar(string color) : base(color)
{
}
public void Charge()
{
Console.WriteLine("Машина заряжается!");
}
}
ElectricCar myElectricCar = new ElectricCar("Синий");
myElectricCar.Charge();
Полиморфизм и абстракция
Полиморфизм — это способность методов иметь разную реализацию в базовом и производном классе.
public class Car
{
public virtual void Refuel()
{
Console.WriteLine("Заправка традиционным топливом.");
}
}
public class ElectricCar : Car
{
public override void Refuel()
{
Console.WriteLine("Зарядка электрокара.");
}
}
Car car1 = new Car();
car1.Refuel(); // "Заправка традиционным топливом."
Car car2 = new ElectricCar();
car2.Refuel(); // "Зарядка электрокара."
Абстракция позволяет создавать классы, которые содержат неполные или “абстрактные” реализации, которые должны быть переопределены в производных классах.
Заключение
Классы в C# — это мощный инструмент для создания структурированных, модульных и повторно используемых приложений. Они служат основой для понимания объектно-ориентированного программирования и применяются во многих аспектах разработки на C#. Умение правильно создавать и использовать классы открывает большие возможности для создания эффективного и удобного в обслуживании кода.