Вступ до конструктора та деструктора

Конструктор і деструктор. Конструктор - це спеціальна функція, яка має те саме ім’я, що і для класу, в якому вона визначена. Він викликається автоматично, коли створюється новий екземпляр. Це розглядається як особливий вид функції, оскільки не потрібно явно викликати його за допомогою об'єкта. Деструктор будь-який визначається як особливий вид методу, який може бути відкликаний при видаленні екземпляра. Мета Деструктора - звільнити пам’ять, яку він пов’язує з ним, поки створений екземпляр класу. Концепція Destructor стосується управління пам'яттю, щоб ресурси можна було ефективно використовувати. У таких мовах, як C ++, існує концепція Destructor, і вона може викликатися автоматично після видалення екземпляра, тоді як на такій мові, як Java, поняття Destructor не існує. Це дозволило програмі написати належним чином, щоб вона могла бути складена належним чином і була легкою з точки зору споживання пам'яті.

Порівняння між конструктором та деструктором

Нижче наведено чотири найкращі порівняння між конструктором та деструктором

Ключові відмінності між конструктором та деструктором

Існує кілька відмінностей між конструкторами та деструкторами. Нижче наведено деякі загальні та важливі відмінності.

  • Конструктор викликається, коли створюється екземпляр цього класу. Це не потрібно чітко викликати. У випадку деструктора він викликає, коли екземпляр будь-якого класу видаляється. Це також те, що автоматично вступає в роль відразу після видалення об'єкта.
  • Конструктор призводить до того, щоб зайняти пам'ять системи, розташувавши їх до ресурсів, і у деструкторі це все навпаки. У деструкторі вивільняється пам'ять, призначена ресурсам, щоб вона могла використовуватися іншим ресурсом.
  • Для того, щоб оголосити конструктора, немає необхідності у спеціальному характері. Можна просто створити метод, ім'я якого схоже на ім'я класу. У разі деструктора знак тильда повинен бути використаний для введення деструктора в програму.
  • Конструктор може використовуватися мовою програмування високого та середнього рівня. Хоча у випадку з деструктором, його не можна використовувати мовою високого рівня. C ++ може використовувати деструктор, але той самий недоступний на Java. Це пояснюється тим, що мова програмування високого рівня мала свій механізм управління пам'яттю.
  • Конструктор можна знайти дуже часто в програмі. Це дуже просте у використанні і зменшує складність програми. З іншого боку, деструктор вважають за краще використовувати, коли є необхідність зменшити споживання пам'яті програмними ресурсами.

Порівняння «голова до голови» між конструктором та деструктором

КонструкторДеструктор
Викликається під час створення екземпляра
Коли створений екземпляр або об'єкт будь-якого класу, це призводить до автоматичного виклику конструктора, який зробить всі оператори за методом конструктора для виконання.
Під час видалення екземпляра викликається
Коли екземпляр або об'єкт видаляються, деструктор викликається автоматично і після цього, оператори класу деструктора виконуються послідовно.
Займає пам’ять
Під час виклику класу він виділяє пам'ять усім ресурсам, які клас буде використовувати далі. Це призводить до споживання пам'яті системи для постійного або тимчасового зберігання даних.
Звільняє пам'ять
Поки викликається деструктор, він випускає всі спогади, що ресурси були зайняті. Звільнена пам'ять може бути додатково розміщена на інших ресурсах, які використовуються в програмі.
Підтримується мовами середнього та високого рівня
Конструктор викликається автоматично, коли створений екземпляр цього класу, і ця функція підтримується обома мовами: мовами програмування середнього та високого рівня.
Підтримка лише мовою середнього рівня
Особливості деструктора підтримуються лише мовою середнього рівня, на зразок C ++. Якщо мова йде про мову високого рівня, як Java, вона не дозволяє такі функції, як у неї є власний спосіб управління пам'яттю.
Під час декларації особливих символів не потрібно
Для того, щоб оголосити конструктор, потрібно просто написати ім'я методу, який повинен бути таким же, як у класу. Для оголошення конструктора не повинно бути спеціального символу.
Тильда використовується під час декларації
Для того, щоб оголосити деструктор, потрібно буде використовувати тильду. Ім’я конструктора має супроводжуватися знаком тильди і має закінчуватися невеликими дужками, як це відбувається в кожній функції.

Висновок

  • Конструктор - це не що інше, як лише метод, який має те саме ім’я, що і клас. Коли потрібно створити екземпляри, це не потребує часу. Об'єкт може бути створений у цьому випадку за допомогою того ж синтаксису, який використовується для створення об’єкта будь-якого класу. На час створення об’єкта він займає простір у пам'яті та приносить у виконання заяву конструктора.
  • Деструктор - це щось точно протилежне конструктору. Він викликається відразу після видалення об'єкта. Насправді, коли об’єкт видалено, він видаляє всі розташовані до нього ресурси, що призводить до звільнення всіх запам'ятовуваних ними пам’яток, щоб нові ресурси могли використовувати цю пам’ять. Хоча між обома поняттями є деякі відмінності, вони обидві відіграють важливу роль у програмуванні, особливо коли ми говоримо про ефективне програмування з використанням мови середнього рівня.

Рекомендовані статті:

Це посібник щодо різниці між конструктором та деструктором. Тут ми обговорили вступ до Конструктора та Деструктора, ключові відмінності разом із таблицею порівняння. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. C ++ проти Java
  2. Питання для інтерв'ю на C ++
  3. Питання для інтерв'ю колекцій Java
  4. Кар'єра в галузі комп’ютерного програмування