Ключевая разница - конструктор против деструктора
Большинство языков программирования поддерживают объектно-ориентированное программирование (ООП). Это парадигма, которая помогает моделировать программное обеспечение или программу с использованием объектов. ООП повышает производительность и удобство сопровождения. В ООП все рассматривается как объект. Объекты создаются или инстанцируются с помощью классов. Конструктор и деструктор - общие термины в объектно-ориентированном программировании. В этой статье обсуждается разница между конструктором и деструктором. Конструктор и деструктор - это специальные функции-члены в классе. Конструктор и деструктор имеют то же имя, что и класс, но деструктор имеет знак тильды (~). Ключевое различие между конструктором и деструктором заключается в том, что конструктор используется для выделения памяти объекту, а деструктор используется для освобождения памяти объекта.
Что такое конструктор?
Конструктор - это специальная функция-член класса для выделения памяти объекту. Его можно использовать для предоставления значений для элементов данных. Конструктор вызывается при создании объекта. Он имеет то же имя, что и имя класса. Конструктор не возвращает никакого значения. Следовательно, он не содержит возвращаемого типа. Конструктор также может принимать параметры. Конструктор с параметрами называется параметризованным конструктором.
Пример конструктора выглядит следующим образом.
открытый класс Rectangle{
целая длина, ширина;
public Rectangle(int p, int q){
длина=p;
ширина=q;
}
public int calculateArea(){
возврат (длинаширина);
}
}
Согласно приведенному выше фрагменту кода, конструктор имеет то же имя, что и имя класса. Конструктор Rectangle принимает два параметра. Это p и q. Длине присваивается целочисленное значение p. Целочисленное значение q присваивается ширине. В calcu alteArea вычисляется произведение длины и ширины, чтобы найти площадь прямоугольника. В основной программе программист может создать объект типа Rectangle и передать аргументы. например Прямоугольник rect1=новый прямоугольник (2, 3). Затем вызывается конструктор с параметрами, который присваивает значения длине и ширине.
Рисунок 01: Конструктор и деструктор
Если есть конструктор без каких-либо параметров, он называется конструктором по умолчанию. Если программист не определяет конструктор, будет вызван конструктор по умолчанию. Если имеется класс Student и когда программист создает объект типа Student, вызывается конструктор по умолчанию. например Студент s1=новый Студент(); В классе может быть несколько конструкторов с разными параметрами и разными типами данных. Соответственно может быть вызван соответствующий конструктор. Следовательно, конструкторы могут быть перегружены.
Что такое деструктор?
Деструктор - это специальная функция-член класса. Он используется для освобождения памяти для объекта, созданного конструктором. Деструктор вызывается при уничтожении объекта. Он выполняет очистку хранилища, которое больше не требуется. Как и конструктор, деструктор имеет то же имя, что и класс. Он также содержит символ тильды (~).
Деструктор не возвращает никакого значения. В отличие от конструктора, деструктор не принимает никаких параметров. Итак, деструктор не поддерживает перегрузку. Объявление деструктора считается хорошей практикой программирования, поскольку при этом освобождается пространство памяти, которое можно использовать для хранения некоторых других объектов. Синтаксис деструктора аналогичен ~className() { }. например ~Прямоугольник() { }; В классе может быть только один деструктор.
Каковы сходства между конструктором и деструктором?
- И конструктор, и деструктор связаны с объектами.
- И конструктор, и деструктор не возвращают никакого значения.
- И конструктор, и деструктор вызываются автоматически.
В чем разница между конструктором и деструктором?
Конструктор против Деструктора |
|
Конструктор - это специальный член класса, который используется для выделения памяти объекту. | Деструктор - это специальный член класса, который используется для освобождения памяти объекта. |
Способ вызова | |
Конструктор вызывается при создании объекта. | Деструктор вызывается при уничтожении или удалении объекта. |
Использование | |
Конструктор используется для выделения памяти для объектов. | Деструктор используется для освобождения памяти для объектов. |
Параметры | |
Конструктор принимает параметры. | Деструктор не принимает параметры. |
Количество конструкторов и деструкторов | |
Может быть несколько конструкторов с разным количеством параметров и разными типами параметров. | В классе может быть один деструктор. |
Скорость выполнения | |
Конструктор имеет то же имя, что и имя класса. | Деструктор имеет то же имя, что и имя класса, но с символом тильды (~). |
Перегрузка | |
Конструктор может быть перегружен. | Деструктор не может быть перегружен. |
Резюме – Конструктор против Деструктора
ООП - это распространенная парадигма в разработке программного обеспечения. Она может упростить сложный проект. В ООП используются конструктор и деструктор. Конструктор и деструктор имеют то же имя, что и класс, но деструктор имеет знак ~. Разница между конструктором и деструктором заключается в том, что конструктор используется для выделения памяти объекту, а деструктор используется для освобождения памяти объекта.
Загрузить PDF-файл Constructor vs Destructor
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Загрузите PDF-версию здесь: Разница между конструктором и деструктором