Классы — это шаблоны для создания объектов, которые содержат данные (поля) и поведение (методы). В этом разделе мы разберём создание классов, объектов, модификаторы доступа и понятие static.
Что такое класс?
Класс — это пользовательский тип данных, определяющий структуру и поведение объекта.
usingstaticSystem.Console;classPerson{publicstringName;// ПолеpublicintAge;publicvoidIntroduce(){WriteLine($"Я {Name}, мне {Age} лет");}}classProgram{staticvoidMain(string[]args){Personperson=newPerson();// Создание объектаperson.Name="Алексей";person.Age=25;person.Introduce();// Вывод: Я Алексей, мне 25 лет}}
Модификаторы доступа
Модификаторы определяют, кто может обращаться к членам класса:
public — доступ открыт для всех.
private — доступ только внутри класса.
protected — доступ внутри класса и в производных классах.
internal — доступ только внутри сборки.
protected internal — доступ внутри сборки или в производных классах.
Свойства
Свойства обеспечивают контролируемый доступ к полям (инкапсуляция).
Автосвойства упрощают синтаксис:
Конструкторы
Конструктор — метод, вызываемый при создании объекта. Имя совпадает с именем класса.
Что такое static?
Ключевое слово static указывает, что член класса принадлежит самому классу, а не объекту. Не требует создания экземпляра.
Полезные советы
Используйте private для полей и public для методов и свойств.
Применяйте static для утилитных методов или общих данных.
Конструкторы помогают инициализировать объекты с нужными значениями.
class Car
{
public string Model; // Доступно всем
private int speed = 0; // Доступно только внутри класса
public void Accelerate(int value)
{
speed += value;
WriteLine($"Скорость: {speed}");
}
}
class Person
{
private string name; // Приватное поле
public string Name
{
get { return name; }
set { name = value; }
}
}
public string Name { get; set; }
class Person
{
public string Name;
public int Age;
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
class MathUtils
{
public static int Add(int a, int b)
{
return a + b;
}
}
class Program
{
static void Main(string[] args)
{
WriteLine(MathUtils.Add(3, 5)); // Вывод: 8
}
}