#15 - Конструкторы, а также модификатор static

#15 - Конструкторы, а также модификатор static

Помимо методов и полей, в классах также присутствуют конструкторы, которые выполняют роль установки данных при создании объекта. В этом уроке мы познакомимся с ними, а также с модификатором доступа static.

Видеоурок

Данный видео урок имеет первую часть, поэтому если вы её не видели, то советуем вам её посмотреть.

Конструктор класса это очень удобная вещь, ведь он позволяет установить значения переменным сразу же при создании объекта. Конструктор класса должен называться точно также как сам класс. Пример создания конструктора показан ниже:
class Book {
    private int pages;
    public string name;
    private float weight;
 
    public void getInfoBook () {
        Console.WriteLine("In the book " + name + " is " + pages + " pages. ");
        Console.WriteLine("It weight is - " + weight + "kg!");
        Console.WriteLine("");
    }   
    
    public Book (int _pages, float _weight) {
      pages = _pages;
      weight = _weight;
    }
    
    public Book (int _pages, float _weight, string _name) {
      pages = _pages;
      weight = _weight;
      name = _name;
    }
}
Как мы видим, в одном классе может быть сразу несколько конструкторов, поэтом при создании объекта мы можем передавать разное количество параметров и разный тип параметров. Компилятор сам определяет какой конструктор необходимо использовать в зависимости от передаваемых параметров. Кроме того, мы сделали переменные теперь с модификатором private, так как мы их используем только в самом классе и нам не надо чтобы где-то еще можно было иметь доступ к ним.

Дополнительно создадим два объекта и выведем информацию:
class MainClass {
    public static void Main(String[] args) {
        Book sherlock_holms = new Book(460, 1.7f); // Используем 1 конструктор
        sherlock_holms.name = "Sherlock Holms"; // Устанавливаем вручную значение для name
        sherlock_holms.getInfoBook ();
        
        Book green_mile = new Book(750, 2.8f, "Green Mile"); // Используем второй конструктор
        green_mile.getInfoBook ();
    }
}
Поскольку переменная name имеет public модификатор доступа, то мы можем её отдельно изменить. Также конструктор может не принимать параметров. Тогда при создании объекта ничего не надо дополнительно передавать.

Модификатор static

Этот модификатор позволяет создать переменную или же метод, который будет принадлежать классу, а не конкретному объекту. Таким образом вы можете ссылаться на такие данные через класс без создания объекта этого класса.

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Изучение ASP.NET Core MVC. Создание сайтов на C#
10 уроков
Программа на C# .NET Windows Forms
7 уроков
Изучение C#, ASP.NET и создание Windows программ
Уроки C# под Unity 5 для начинающих
9 уроков