#15 – Конструктори класів. Модифікатор static

#15 – Конструктори класів. Модифікатор static

Найчастіше під час створення об'єктів необхідно виконувати додатковий код. Реалізувати таке можна за рахунок конструкторів. За урок ми вивчимо роботу конструкторів та навчимося використовувати модифікатор static.

Відеоурок

Telegram group

Підписуйтесь на нашу групу в Телеграмі 🇺🇦

Конструктор класу дуже зручний і за своїм виглядом схожий із звичайними функціями. За рахунок конструктора ми можемо встановити значення для об'єкта відразу під час його створення.


Конструктор повинен мати однакову назву із класом. Приклад створення конструктора наведено нижче:

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. Справа в тому, що всі змінні краще робити або private, або protected. Доступ до змінних повинен здійснюватися лише за рахунок методів та конструкторів. Доступ до полів повинен бути закритий.


Додатково створимо два об'єкти та виведемо інформацію:

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 модифікатор доступу, ми можемо посилатися до неї окремо. Краще так не робити і для неї також встановити модифікатор private.


Також конструктор може не приймати параметри. У такому разі під час створення об'єкта нічого не потрібно додатково передавати.


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

Завдяки static ми можемо створити змінну або метод, що належатиме до класу загалом. Це означає, що можна звернутися до статичного методу або статичного поля безпосередньо через клас без створення об'єкта. 


Це зручно та подібна схема реалізована у багатьох вбудованих класах C#.


Для прикладу візьмемо клас Math (клас пов'язаний з математичними формулами). Через клас можна звернутися до методів і значень без створення об'єкта на основі класу:

int i = -10;
int iAbs = Math.Abs(i); // Буде 10

Для створення поля або методу з модифікатором static необхідно дописати ключове слово static перед типом даних:

public static string some = "Просто текст";

Вихідний код

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

Завдання до уроку

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

Велике завдання за курсом

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

Також варто подивитися

Вивчення C# та створення Windows програм
Разработка 2D игры на C# WinForms
Изучение ASP.NET Core MVC. Создание сайтов на C#
C# MAUI – Разработка приложений с нуля
Создание C# WPF игры / Разработка игры с дизайном
Xamarin Forms / Мобильные приложения на C#
Коментарі
Додати коментар

Поки що коментарів немає