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