При створенні об'єктів важливо дотримуватись певних правил. Сьогодні ми поговоримо про один з таких методів, що використовується для налаштування об'єкта — це конструктор.
Конструктор
Конструктор — це спеціальний метод, який автоматично виконується при створенні об'єкта. В кожному класі має бути хоча б один конструктор.
Як створюється метод-конструктор?
Метод-конструктор оголошується всередині класу, де створюється об'єкт, і зазвичай перед його іменем ставиться ключове слово "public" (хоча це не завжди обов'язково). Ім'я методу повинно збігатися з ім'ям класу.
Вихід:
Метод конструктора був виконаний
Як видно, конструктор виконується одразу після створення об'єкта.
ДЕФОЛТНИЙ КОНСТРУКТОР
Це конструктор, який компілятор створює автоматично, і він завжди присутній у фоновому режимі, хоча не видно в класі. Цей конструктор не приймає параметрів і не виконує жодних дій. Він лише присвоює значення за замовчуванням для властивостей об'єкта.
Вихід:
Ім'я користувача: null
Вік користувача: 0
Як видно, навіть якщо ми не присвоїли значення властивостям об'єкта, Java все одно автоматично присвоїла "null" для змінної типу String і "0" для змінної типу int.
Важлива примітка: Якщо ми додаємо конструктор з параметрами в клас, дефолтний конструктор автоматично видаляється. Тому, щоб дефолтний конструктор залишався доступним, після додавання конструктора з параметрами потрібно явно оголосити конструктор без параметрів.
КОНСТРУКТОР БЕЗ ПАРАМЕТРІВ
Це конструктор, який не приймає параметрів. Відмінність від дефолтного конструктора в тому, що в цьому можна виконувати додаткові операції.
Вихід:
Конструктор без параметрів був виконаний
Як видно, цей конструктор не прийняв параметрів, але був викликаний при створенні об'єкта і виконав додаткові операції, наприклад, виведення повідомлення на екран.
КОНСТРУКТОР З ПАРАМЕТРАМИ
Цей конструктор приймає параметри.
Як видно, при створенні об'єкта ми передали два параметри в метод-конструктор. Конструктор використав ці параметри для виведення інформації про користувача. Конструктор з параметрами часто використовується для налаштування об'єкта під час його створення.
Важливість використання конструктора
-
Однією з основних причин для створення конструктора в класі є ініціалізація властивостей об'єкта значеннями. Конструктор отримує значення як параметри та присвоює їх властивостям об'єкта, тим самим налаштовуючи об'єкт.
-
Хоча можна було б присвоїти значення кожній властивості окремо, в класі може бути багато змінних, і можна забути призначити значення деяким з них. Це може призвести до помилок у програмі. Використання конструктора дозволяє уникнути таких ситуацій, оскільки він забезпечує ініціалізацію всіх властивостей. Таким чином, ми отримуємо більш компактний і надійний код, а також економимо час.
Як ми бачимо, конструктори дозволяють налаштовувати об'єкти, але також важливо, щоб код був чистим і зрозумілим. Наприклад, значення для змінної name
можна було б присвоїти як "emre", однак важливо пам'ятати, що в проекті може бути багато класів і змінних, і кожного разу треба обирати відповідні імена параметрів. Проектування програм є складним процесом, і важливо не витрачати час на вибір імен параметрів, щоб не ускладнювати собі завдання.
Використання this
Ключове слово this
дає доступ до властивостей поточного класу. Наприклад, при написанні this.name
, ми отримуємо доступ до змінної name
в класі User
. Також можна отримати доступ до методів класу (і, відповідно, до методів конструктора). Це дозволяє без помилок створювати об'єкти.
Заглиблюючись у програмування на основі об'єктів і намагаючись краще зрозуміти цей процес, ми сьогодні обговорили метод конструктора. Сподіваюся, зустрінемося в наступній статті.
Наступна тема: Інкапсуляція (ENCAPSULATION)
Джерела:
Перекладено з: Constructor Metod Nedir? Neden Kullanılır?