Въведение в конструктора и разрушителя

Конструктор и разрушител. Конструкторът е специална функция, която има същото име като тази на класа, в който е дефинирана. Той се извиква автоматично всеки път, когато се създаде нов екземпляр. Той се счита за специален вид функция, тъй като не се изисква изрично да се извиква с помощта на обекта. Destructor може да бъде дефиниран като специален вид метод, който може да бъде отменен, когато екземплярът бъде изтрит. Целта на Destructor е да освободи паметта, която той свързва с него, докато инстанцията на класа е създадена. Концепцията на Destructor е загрижена за управлението на паметта, така че ресурсите да могат да се използват ефективно. В езици като C ++ съществува концепцията на Destructor и може да се извика автоматично, след като екземплярът бъде изтрит, докато на език като Java, концепцията на Destructor не съществува. Тя позволява на програмата да бъде написана по добър начин, така че да може да се компилира правилно и да бъде лека по отношение на потреблението на памет.

Сравнение между главата и конструктора

По-долу са най-добрите 4 сравнения между конструктор и разрушител

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

Има няколко разлики между конструктори и деструктори. По-долу са някои от често срещаните и важни разлики.

  • Конструкторът се извиква, когато се създаде инстанция от този клас. Не е необходимо да се извиква изрично. В случая на деструктора се извиква, когато екземплярът на който и да е клас се изтрие. Това също е нещо, което влиза в ролята автоматично веднага след изтриването на обекта.
  • Конструкторът води до заемане на паметта на системата, като ги локализира към ресурсите и е точно обратното в случая с деструктора. В деструктора паметта, която е била присвоена на ресурсите, се освобождава, така че да може да се използва от друг ресурс.
  • За да се декларира конструкторът, няма нужда от специален характер. Човек може просто да създаде метод, чието име е подобно на това на класа. В случая на деструктора знакът tilde трябва да се използва за въвеждане на деструктор в програмата.
  • Конструкторът може да се използва в езика за програмиране на високо и средно ниво. Докато в случая с деструктора той не може да се използва на езика на високо ниво. C ++ е в състояние да използва деструктора, но същото не е налично в Java. Това се дължи на причината, че езикът за програмиране на високо ниво е имал свой механизъм за управление на паметта.
  • Конструкторът може да бъде използван много често в програмата. Използва се много лесно и намалява сложността на програмата. От друга страна, деструкторът е предпочитан да се използва, когато има нужда от намаляване на потреблението на памет от програмните ресурси.

Сравнение между главата между конструктора и разрушителя

конструкторпещ за горене на отпадъци
Поканени при създаване на инстанции
Когато се създаде инстанцията или обекта от който и да е клас, това води до автоматично извикване на конструктора, което ще направи всички операции по метода конструктор да бъдат изпълнени.
Поканен при изтриване на инстанция
Когато екземплярът или обектът бъде изтрит, деструкторът се извиква автоматично и след това, операторите от класа на деструктора се изпълняват последователно.
Заема памет
Докато класът е извикан, той разпределя памет на всички ресурси, които класът ще използва допълнително. Това води до изразходване на паметта на системата за съхраняване на данните за постоянно или временно.
Освобождава памет
Докато деструкторът е извикан, той освобождава всички спомени, че ресурсите са заети. Освободената памет може да бъде допълнително разположена към други ресурси, които се използват в програмата.
Поддържа се на езици на средно и високо ниво
Конструкторът се извиква автоматично всеки път, когато се създаде инстанция от този клас и тази функция се поддържа от двата вида езици: езици за програмиране на средно и високо ниво.
Поддръжка само на език на средно ниво
Функциите на деструктора се поддържат само на език от средно ниво като C ++. Когато става въпрос за език на високо ниво като Java, той не позволява функции като тази, тъй като има собствен начин за управление на паметта.
Не се изисква специален знак, докато декларацията
За да декларира конструктора, просто трябва да напише името на метода, който трябва да бъде същото като това на класа. Не трябва да има специален символ, необходим за деклариране на конструктор.
Tilde се използва, докато декларация
За да се декларира разрушителят, ще се изисква използването на тилда. Името на конструктора трябва да бъде последвано от знака tilde и трябва да завършва с малки скоби, както се случва при всяка функция.

заключение

  • Конструкторът не е нищо по-различно, а само методът, който има същото име като този на класа. Отнема време да се извиквате, след като копията са създадени. Обектът може да бъде създаден в този случай, използвайки същия синтаксис, който се използва за създаване на обект от всеки клас. По времето, когато обектът е създаден, той заема пространството в паметта и вкарва изявлението на конструктора в изпълнение.
  • Деструкторът е нещо точно противоположно на това на конструктора. Извиква се веднага след изтриването на обекта. Всъщност, когато обектът бъде изтрит, той изтрива всички ресурси, които са били в него, което води до освобождаване на всички спомени, които бяха запазени от тях, така че новите ресурси да могат да използват тази памет. Въпреки че има някои разлики между двете концепции, и двете играят жизненоважна роля в програмирането и особено когато говорим за ефективно програмиране, използвайки езика на средното ниво.

Препоръчани статии:

Това е ръководство за разликата между конструктор и разрушител. Тук сме обсъдили въведение към Constructor и Destructor, ключовите разлики, заедно със сравнителната таблица. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. C ++ срещу Java
  2. C ++ Въпроси за интервю
  3. Въпроси за интервю от колекции на Java
  4. Кариера в компютърното програмиране