Увод у конструктор и деструктор

Конструктор и деструктор. Конструктор је посебна функција која има исто име као и класа у којој је дефинисана. Позива се аутоматски када се креира нова инстанца. Сматра се посебном врстом функције, јер није потребно експлицитно звати објектом. Деструктор се може дефинисати као посебна врста метода која се може опозвати када се инстанца избрише. Сврха Деструктора је ослободити меморију која је са њим повезана док је створена инстанца класе. Концепт Деструктора забринут је за управљање меморијом како би се ресурси могли ефикасно користити. У језицима као што је Ц ++, постоји концепт Деструктора и може се аутоматски позвати након што се инстанца избрише, док на језику попут Јаве, концепт Деструктора не постоји. Омогућио је да програм буде написан на добар начин тако да се може правилно саставити и бити лаган у погледу потрошње меморије.

Упоредни поступак између конструктора и деструктора

Испод је топ 4 поређења конструктора и деструктора

Кључне разлике између конструктора и деструктора

Постоји неколико разлика између конструктора и деструктора. Испод су неке од уобичајених и важних разлика.

  • Конструктор се позива када се створи инстанца те класе. Не треба да се позива експлицитно. У случају деструктора, позива се када се брише инстанца било које класе. То је такође нешто што аутоматски долази у улогу одмах након брисања објекта.
  • Конструктор води ка заузимању меморије система тако што их лоцира на ресурсе, а код деструктора управо је обрнуто. У деструктору се ослобађа меморија која је додељена ресурсима тако да их може користити други ресурс.
  • За декларирање конструктора нема потребе за посебним карактером. Једноставно се може створити метода чије је име слично као у класи. У случају деструктора, знак тилде мора се користити за увођење деструктора у програм.
  • Конструктор се може користити у програмском језику високог и средњег нивоа. Док је у случају деструктора, он се не може користити на језику високог нивоа. Ц ++ може користити деструктор, али исти није доступан на Јави. То је због разлога што је програмски језик високог нивоа имао свој механизам за управљање меморијом.
  • Конструктор се може често користити у програму. Употреба је веома једноставна и смањује сложеност програма. С друге стране, деструктор се преферира за употребу када постоји потреба за смањењем потрошње меморије помоћу програмских ресурса.

Упоредна измена између конструктора и деструктора

КонструкторДеструктор
Приликом израде инстанци позван је
Када се створи инстанца или објект било које класе, то води аутоматски позивању конструктора који ће све изјаве у оквиру методе конструктора извршити.
Док је брисање инстанције позвано
Када се инстанца или објект избришу, а деструктор се аутоматски изазове и након тога, изјаве класе деструктора извршавају се узастопно.
Заузима меморију
Док се класа позива, она распоређује меморију свим ресурсима које ће класа даље користити. То доводи до трошења меморије система за трајно или привремено чување података.
Ослобађа меморију
Док се деструктор позива, он ослобађа све успомене које су ресурси заузели. Ослобођена меморија може се даље лоцирати на друге ресурсе који се користе у програму.
Подржани су на језицима средњег и високог нивоа
Конструктор се аутоматски позива кад год се створи инстанца те класе, а ову функцију подржавају обе врсте језика: програмски језици средњег и високог нивоа.
Подршка само на језику средњег нивоа
Карактеристике деструктора подржане су само на језику средњег нивоа попут Ц ++. Када је реч о језику високог нивоа као што је Јава, он не дозвољава овакве функције као што има свој начин управљања меморијом.
Током декларације није потребан посебан знак
Да би се конструктор декларирао, потребно је само написати име методе која мора бити иста као у класи. За проглашавање конструктора не би требало да постоји посебан знак.
Тилде се користи приликом декларације
За декларацију деструктора биће потребна употреба тилде. Назив конструктора мора пратити знак тилде и мора се завршити малим заградама, као што се догађа у свакој функцији.

Закључак

  • Конструктор није ништа другачији већ само метода која има исти назив као и класа. Неће вам требати времена када се активирају након што се створе инстанце. Објект се у овом случају може креирати користећи исту синтаксу као и за креирање објекта било које класе. До тренутка када се објект створи, он заузима простор у меморији и доноси изјаву конструктора у извршење.
  • Деструктор је нешто управо супротно ономе у конструктору. Позива се одмах након брисања објекта. Заправо, када се објект обрише, он брише све ресурсе који су му се налазили што доводи до ослобађања свих меморија које су им резервисали како би нови ресурси могли да користе ту меморију. Иако постоје неке разлике између оба концепта, оба играју виталну улогу у програмирању, а посебно када говоримо о ефикасном програмирању користећи језик средњег нивоа.

Препоручени чланци:

Ово је водич за разлику између конструктора и деструктора. Овде смо расправљали о уводу у Конструктор и Деструктор, о кључним разликама уз упоредну табелу. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Ц ++ вс Јава
  2. Ц ++ питања за интервју
  3. Питања о интервјуима за колекције Јава
  4. Каријера у рачунарском програмирању

Категорија: