НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування C#. Уроки W3Schools українською для початківців

En Es De

C# Конструктори


Конструктори

Конструктор — це спеціальний метод, який використовується для ініціалізації об’єктів. Перевагою конструктора є те, що він викликається, коли створюється об’єкт класу. Його можна використовувати для встановлення початкових значень для полів:

Приклад

Створити конструктор:

// Створити клас Car
class Car
{
  public string model;  // Створити поле

  // Створити конструктор класу для класу Car
  public Car()
  {
    model = "Mustang"; // Встановити початкове значення моделі
  }

  static void Main(string[] args)
  {
    Car Ford = new Car();  // Створити об’єкт класу автомобіля (це буде викликати конструктор)
    Console.WriteLine(Ford.model);  // Виведе значення моделі
  }
}
// Створити "Mustang"

Спробуйте самі »

Зауважте, що ім’я конструктора має відповідати імені класу та не може мати тип повернення (наприклад, void або int).

Також зауважте, що конструктор викликається під час створення об’єкта.

За замовчуванням усі класи мають конструктори: якщо ви не створюєте конструктор класу самостійно, C# створить його для вас. Однак тоді ви не зможете встановити початкові значення для полів.

Конструктори економлять час! Подивіться на останній приклад на цій сторінці, щоб справді зрозуміти чому.


Параметри конструктора

Конструктори також можуть приймати параметри, які використовуються для ініціалізації полів.

У наступному прикладі до конструктора додається параметр string modelName. Усередині конструктора ми встановлюємо model значення modelName (model=modelName). Коли ми викликаємо конструктор, ми передаємо йому параметр ("Mustang"), який встановлює значення model до "Mustang":

Приклад

class Car
{
  public string model;

  // Створити конструктор класу з параметром
  public Car(string modelName)
  {
    model = modelName;
  }

  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang");
    Console.WriteLine(Ford.model);
  }
}
// Виведе "Mustang"

Спробуйте самі »

Ви можете мати скільки завгодно параметрів:

Приклад

class Car
{
  public string model;
  public string color;
  public int year;

  // Створити конструктор класу з кількома параметрами
  public Car(string modelName, string modelColor, int modelYear)
  {
    model = modelName;
    color = modelColor;
    year = modelYear;
  }

  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Console.WriteLine(Ford.color + " " + Ford.year + " " + Ford.model);
  }
}
// Виведе Red 1969 Mustang

Спробуйте самі »

Порада: Як і інші методи, конструктори можуть бути перевантажені за допомогою різної кількості параметрів.


Конструктори економлять час

Коли ви розглядаєте приклад із попереднього розділу, ви помітите, що конструктори дуже корисні, оскільки вони допомагають зменшити кількість коду:

Без конструктора:

prog.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car();
    Ford.model = "Mustang";
    Ford.color = "red";
    Ford.year = 1969;

    Car Opel = new Car();
    Opel.model = "Astra";
    Opel.color = "white";
    Opel.year = 2005;

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

Спробуйте самі »

З конструктором:

prog.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Car Opel = new Car("Astra", "White", 2005);

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

Спробуйте самі »