Sobes.tech
Back to questions
Junior — Middle
165

Можешь привести примеры различных типов конструкторов в объектно-ориентированном программировании?

Answer from AI

sobes.tech AI

В объектно-ориентированном программировании (ООП) существуют разные типы конструкторов, которые помогают создавать объекты с разными начальными состояниями:

  • Конструктор по умолчанию — не принимает параметров и инициализирует объект значениями по умолчанию.
  • Параметризованный конструктор — принимает параметры для инициализации объекта с конкретными значениями.
  • Конструктор копирования — создает новый объект как копию существующего.
  • Фабричный конструктор (например, в Dart/Flutter) — возвращает экземпляр класса, может возвращать уже существующий объект или подкласс.

Пример на Dart (Flutter):

class User {
  String name;
  int age;

  // Конструктор по умолчанию
  User() {
    name = 'Guest';
    age = 0;
  }

  // Параметризованный конструктор
  User.withDetails(this.name, this.age);

  // Фабричный конструктор
  factory User.guest() {
    return User();
  }
}

void main() {
  var user1 = User(); // по умолчанию
  var user2 = User.withDetails('Alice', 30); // с параметрами
  var user3 = User.guest(); // фабричный
}