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

Съдържание:

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

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

Видео: Разлика между конструктор и деструктор
Видео: Конструктор класса пример. Зачем нужен. Конструктор с параметрами. Конструктор по умолчанию. Урок#78 2024, Ноември
Anonim

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

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

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

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

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

публичен клас Rectangle{

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

публичен правоъгълник(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() { }. напр. ~Правоъгълник() {}; В клас може да има само един деструктор.

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

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

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

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

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

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

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

Изтеглете PDF файла на Constructor vs Destructor

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

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