Разлика между конструктора и деструктора

Съдържание:

Разлика между конструктора и деструктора
Разлика между конструктора и деструктора

Видео: Разлика между конструктора и деструктора

Видео: Разлика между конструктора и деструктора
Видео: Вызов конструктора базового класса из конструктора класса-наследника. Наследование. ООП C+ #102 2024, Може
Anonim

Ключова разлика - конструктор срещу деструктор

Повечето езици за програмиране поддържат обектно ориентирано програмиране (OOP). Парадигмата е тази, която помага за моделиране на софтуер или програма, използваща обекти. OOP подобрява производителността и поддръжката. В ООП всичко се разглежда като обект. Обектите се създават или създават с помощта на класове. Конструкторът и деструкторът са често срещани термини в обектно-ориентираното програмиране. Тази статия разглежда разликата между конструктор и деструктор. Конструкторът и деструкторът са специални членски функции в клас. Конструкторът и деструкторът имат същото име като класа, но деструкторът има знак тилда (~). Ключовата разлика между конструктора и деструктора е, че конструкторът се използва за разпределяне на памет към обект, докато деструктор се използва за освобождаване на паметта на обект.

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво е конструктор

3. Какво е деструктор

4. Прилики между конструктор и деструктор

5. Равно до сравнение - конструктор срещу деструктор в таблична форма

6. Резюме

Какво е конструктор?

Конструкторът е специална функция член в класа за разпределяне на паметта на обект. Може да се използва за предоставяне на стойности за членовете на данните. Конструкторът се извиква, когато обектът е създаден. Той има същото име като името на класа. Конструктор не връща никаква стойност. Следователно, той не съдържа тип връщане. Конструктор може също да приема параметри. Конструктор с параметри е известен като параметризиран конструктор.

Пример за конструктор е както следва.

публичен клас Правоъгълник {

int дължина, ширина;

публичен правоъгълник (int p, int q) {

дължина = p;

ширина = q;

}

публичен int CalcuArea () {

връщане (дължина * ширина);

}

}

Съгласно горната част от кода конструкторът има същото име като името на класа. Конструкторът Rectangle приема два параметъра. Те са p и q. Целочислената стойност p се присвоява на дължината. Целочислената стойност q се присвоява на ширината. В calcualteArea умножението на дължина и ширина се изчислява, за да се намери площта на правоъгълника. В основната програма програмистът може да създаде обект от тип Rectangle и да предаде аргументите. напр. Правоъгълник rect1 = нов правоъгълник (2,3). След това се извиква параметризираният конструктор и присвоява стойностите на дължината и ширината.

Разлика между конструктора и деструктора
Разлика между конструктора и деструктора

Фигура 01: Конструктор и деструктор

Когато има конструктор без никакви параметри, той се нарича конструктор по подразбиране. Ако програмистът не дефинира конструктор, ще бъде извикан конструкторът по подразбиране. Ако има клас като Student и когато програмистът създаде обект от тип Student, се извиква конструкторът по подразбиране. напр. студент s1 = нов студент (); В даден клас може да има множество конструктори с различни параметри и различни типове данни. Подходящият конструктор може да бъде извикан съответно. Следователно конструкторите могат да бъдат претоварени.

Какво е деструктор?

Деструкторът е специална функция член в класа. Използва се за разпределяне на паметта за обект, създаден от конструктора. Деструкторът се извиква, когато обектът е унищожен. Той извършва съхранение за почистване, което вече не е необходимо. Подобно на конструктора, деструкторът има същото име като класа. Той също така съдържа символ на тилда (~).

Деструкторът не връща никаква стойност. За разлика от конструктора, деструкторът не приема никакви параметри. Така че, деструкторът не поддържа претоварване. Декларирането на деструктор се счита за добра практика за програмиране, тъй като освобождава паметта и това пространство може да се използва за съхраняване на някои други обекти. Синтаксисът на деструктора е подобен на ~ className () {}. напр. ~ Rectangle () {}; В клас може да има само един деструктор.

Какви са приликите между конструктора и деструктора?

  • И конструкторът, и деструкторът са свързани с обекти.
  • И конструкторът, и деструкторът не връщат никаква стойност.
  • И конструкторът, и деструкторът се извикват автоматично.

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

Различна статия Средна преди таблица

Конструктор срещу Деструктор

Конструкторът е специален член в класа, който се използва за разпределяне на памет към обект. Деструкторът е специален член на класа, който се използва за освобождаване на паметта на обект.
Метод на призоваване
Конструктор се извиква, когато обектът е създаден. Деструкторът се извиква, когато обектът е унищожен или изтрит.
Употреба
За разпределяне на паметта за обектите се използва конструктор. За освобождаване на паметта за обектите се използва деструктор.
Параметри
Конструктор приема параметри. Деструкторът не приема параметри.
Брой конструктори и деструктори
Може да има множество конструктори с различен брой параметри и различни видове параметри. В класа може да има единичен деструктор.
Скорост на изпълнение
Конструктор има същото име като името на класа. Деструкторът има същото име като името на класа със символ тилда (~).
Претоварване
Конструктор може да бъде претоварен. Деструкторът не може да бъде претоварен.

Резюме - Конструктор срещу Деструктор

OOP е често срещана парадигма в разработването на софтуер. Тя може да опрости сложен проект. В ООП се използват конструктор и деструктор. Конструкторът и деструкторът имат същото име като класа, но деструкторът има знак ~. Разликата между конструктор и деструктор е, че конструкторът се използва за разпределяне на памет към обект, докато деструктор се използва за освобождаване на паметта на обект.

Изтеглете PDF на Constructor срещу Destructor

Можете да изтеглите PDF версията на тази статия и да я използвате за офлайн цели според бележката към цитата. Моля, изтеглете PDF версията тук: Разлика между конструктора и деструктора

Препоръчано: