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

Конструктор и Разрушитель. Конструктор - это специальная функция, имя которой совпадает с именем класса, в котором она была определена. Он вызывается автоматически при создании нового экземпляра. Она рассматривается как особый вид функции, поскольку ее не нужно вызывать явно с использованием объекта. Деструктор любой может быть определен как особый вид метода, который можно отозвать при удалении экземпляра. Цель Destructor - освободить память, которую он связывает с ним, пока создается экземпляр класса. Концепция Destructor касается управления памятью, чтобы ресурсы могли эффективно использоваться. В таких языках, как C ++, существует понятие Destructor, и его можно вызывать автоматически после удаления экземпляра, тогда как в языке, таком как Java, концепция Destructor не существует. Это позволило программе быть написанной надлежащим образом, чтобы ее можно было правильно скомпилировать и облегчить с точки зрения потребления памяти.

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

Ниже приведены 4 лучших сравнения между конструктором и деструктором

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

Есть несколько различий между конструкторами и деструкторами. Ниже приведены некоторые из общих и важных различий.

  • Конструктор вызывается при создании экземпляра этого класса. Это не должно быть вызвано явно. В случае деструктора он вызывается при удалении экземпляра любого класса. Это также то, что автоматически вступает в роль сразу после удаления объекта.
  • Конструктор приводит к тому, что занимает память системы, размещая их в ресурсах, а в случае деструктора все наоборот. В деструкторе память, которая была назначена ресурсам, освобождается, чтобы ее мог использовать другой ресурс.
  • Чтобы объявить конструктор, нет необходимости в специальном символе. Можно просто создать метод, имя которого похоже на имя класса. В случае деструктора, знак тильды должен использоваться для введения деструктора в программу.
  • Конструктор может использоваться на языке программирования высокого и среднего уровня. Хотя в случае деструктора, он не может быть использован на языке высокого уровня. C ++ может использовать деструктор, но он не доступен в Java. Это связано с тем, что язык программирования высокого уровня имел собственный механизм управления памятью.
  • Конструктор можно найти очень часто используемым в программе. Он очень прост в использовании и снижает сложность программы. С другой стороны, деструктор предпочтительнее использовать, когда есть необходимость уменьшить потребление памяти программными ресурсами.

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

КонструкторDestructor
Вызывается при создании экземпляра
Когда создается экземпляр или объект любого класса, это приводит к автоматическому вызову конструктора, который будет выполнять все операторы в соответствии с методом конструктора.
Вызывается при удалении экземпляра
Когда экземпляр или объект удаляется, деструктор вызывается автоматически, а затем операторы класса деструктора выполняются последовательно.
Занимает память
В то время как класс вызывается, он выделяет память для всех ресурсов, которые класс будет использовать в дальнейшем. Это приводит к потреблению памяти системы для хранения данных на постоянной или временной основе.
Освобождает память
Пока деструктор вызывается, он освобождает все воспоминания о том, что ресурсы были заняты. Освободившаяся память может быть в дальнейшем расположена для других ресурсов, которые используются в программе.
Поддерживается на языках среднего и высокого уровня
Конструктор вызывается автоматически всякий раз, когда создается экземпляр этого класса, и эта функция поддерживается обоими типами языков: языками программирования среднего и высокого уровня.
Поддержка только на языке среднего уровня
Возможности деструктора поддерживаются только в языке среднего уровня, таком как C ++. Когда речь заходит о языке высокого уровня, таком как Java, он не допускает подобных функций, поскольку у него есть свой собственный способ управления памятью.
Никаких специальных символов не требуется при объявлении
Чтобы объявить конструктор, нужно просто написать имя метода, которое должно совпадать с именем класса. Для объявления конструктора не требуется специальных символов.
Тильда используется при объявлении
Чтобы объявить деструктор, потребуется использовать тильду. За именем конструктора должен следовать знак тильды, и он должен заканчиваться маленькими скобками, как это происходит в каждой функции.

Вывод

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

Рекомендуемые статьи:

Это руководство по разнице между конструктором и деструктором. Здесь мы обсудили введение в конструктор и деструктор, ключевые различия вместе с таблицей сравнения. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. C ++ против Java
  2. C ++ Интервью Вопросы
  3. Интервью с коллекциями Java
  4. Карьера в компьютерном программировании