Конструкторы в C#
Узнайте, как инициализировать объекты с помощью конструкторов в C#
«Конструкторы в C#» — бесплатный урок C# Academy на CoddyKit. Это урок 4 из 7. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 7 уроков всего.
Введение в конструкторы
Конструкторы в C#
Добро пожаловать на следующий урок! На этом уроке вы узнаете о конструкторах в C#, их назначении и использовании для инициализации объектов. Давайте начнём!

Что такое конструктор?
Что такое конструктор?
Конструктор — это специальный метод класса, который автоматически вызывается при создании объекта этого класса. Он используется для инициализации данных объекта или выполнения подготовительных действий.
Ключевой момент: Конструктор имеет то же имя, что и класс, и не имеет возвращаемого типа.
Определение конструктора
Определение конструктора
Чтобы определить конструктор, создайте метод с тем же именем, что и класс. Пример:
Совет: Используйте конструкторы, чтобы объекты всегда создавались в корректном состоянии.
using System;
class Car {
public string Color;
// Constructor
public Car() {
Color = "Red"; // Initialize the Color attribute
}
}
class Program {
static void Main() {
Car myCar = new Car(); // Constructor is automatically called
Console.WriteLine("Car color: " + myCar.Color); // Outputs: Car color: Red
}
}
Конструкторы с параметрами
Конструкторы с параметрами
Конструктор с параметрами позволяет передавать значения для инициализации данных объекта при его создании. Пример:
Ключевой момент: Используйте конструкторы с параметрами для гибкой инициализации объектов.
using System;
class Car {
public string Color;
// Parameterized Constructor
public Car(string color) {
Color = color; // Initialize Color with the passed value
}
}
class Program {
static void Main() {
Car myCar = new Car("Blue"); // Pass "Blue" to the constructor
Console.WriteLine("Car color: " + myCar.Color); // Outputs: Car color: Blue
}
}
Конструкторы по умолчанию
Конструкторы по умолчанию
Если конструктор явно не определён, C# предоставляет конструктор по умолчанию, который инициализирует поля их значениями по умолчанию. Пример:
Совет: Определяйте собственный конструктор, если требуется особая инициализация.
using System;
class Car {
public string Color; // Default value is null
}
class Program {
static void Main() {
Car myCar = new Car(); // Default constructor is automatically called
Console.WriteLine("Car color: " + (myCar.Color ?? "Not set")); // Outputs: Car color: Not set
}
}
Перегрузка конструкторов
Перегрузка конструкторов
C# поддерживает перегрузку конструкторов, то есть класс может иметь несколько конструкторов с разными списками параметров. Пример:
Ключевой момент: Перегрузка конструкторов обеспечивает гибкость при создании объектов.
using System;
class Car {
public string Color;
// Default Constructor
public Car() {
Color = "Red";
}
// Parameterized Constructor
public Car(string color) {
Color = color;
}
}
class Program {
static void Main() {
Car defaultCar = new Car(); // Calls the default constructor
Console.WriteLine("Default car color: " + defaultCar.Color); // Outputs: Default car color: Red
Car customCar = new Car("Green"); // Calls the parameterized constructor
Console.WriteLine("Custom car color: " + customCar.Color); // Outputs: Custom car color: Green
}
}
Практическое задание
Практическое задание
Создайте класс с именем Book с конструктором по умолчанию, который устанавливает для названия значение «Неизвестно», и конструктором с параметрами, принимающим название. Выведите название книги для обоих конструкторов. Пример:
using System;
class Book {
public string Title;
// Default Constructor
public Book() {
Title = "Unknown";
}
// Parameterized Constructor
public Book(string title) {
Title = title;
}
}
class Program {
static void Main() {
Book defaultBook = new Book();
Console.WriteLine("Default book title: " + defaultBook.Title); // Outputs: Default book title: Unknown
Book customBook = new Book("C# Programming");
Console.WriteLine("Custom book title: " + customBook.Title); // Outputs: Custom book title: C# Programming
}
}
Рекомендации по работе с конструкторами
Рекомендации по работе с конструкторами
Ниже приведены рекомендации по использованию конструкторов:
- Делайте конструкторы простыми и сосредоточенными на инициализации.
- Избегайте сложной логики в конструкторах, чтобы сохранить ясность кода.
- Используйте перегрузку конструкторов для гибкости при создании объектов.
Совет: Конструкторы должны подготавливать объект к полноценной работе сразу после создания.
Отличная работа!
Отличная работа!
Поздравляем! Вы узнали, что такое конструкторы, как их определять и почему они важны для инициализации объектов. На следующем уроке мы изучим понятие наследования и узнаем, как эффективно повторно использовать код. Продолжайте писать код!

Часто задаваемые вопросы
Урок «Конструкторы в C#» бесплатный?
Да — полный текст урока «Конструкторы в C#» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 7 уроков всего.
Чему я научусь в уроке «Конструкторы в C#»?
Узнайте, как инициализировать объекты с помощью конструкторов в C# Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 7.
Сколько времени занимает урок «Конструкторы в C#»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что такое объектно-ориентированное программирование?
- Определение классов и объектов
- Свойства и методы
- Конструкторы в C#
- Инкапсуляция и модификаторы доступа
- Наследование: повторное использование кода
- Полиморфизм и переопределение методов