Տարբերությունը կառուցողի և կործանարարի միջև

Բովանդակություն:

Տարբերությունը կառուցողի և կործանարարի միջև
Տարբերությունը կառուցողի և կործանարարի միջև

Video: Տարբերությունը կառուցողի և կործանարարի միջև

Video: Տարբերությունը կառուցողի և կործանարարի միջև
Video: 🙋‍♂️ Ջոն Մաքսվելի առաջնորդության 5 մակարդակ 🙋 2024, Նոյեմբեր
Anonim

Հիմնական տարբերություն – Կոնստրուկտոր ընդդեմ կործանողի

Ծրագրավորման լեզուների մեծ մասն աջակցում է Օբյեկտի վրա հիմնված ծրագրավորում (OOP): Դա այն պարադիգմն է, որն օգնում է մոդելավորել ծրագրակազմ կամ ծրագիր՝ օգտագործելով օբյեկտներ: OOP-ը բարելավում է արտադրողականությունը և պահպանողականությունը: OOP-ում ամեն ինչ դիտարկվում է որպես օբյեկտ։ Օբյեկտները ստեղծվում կամ ստեղծվում են դասերի միջոցով: Constructor և Destructor ընդհանուր տերմիններ են Օբյեկտ ուղղված ծրագրավորման մեջ: Այս հոդվածը քննարկում է կոնստրուկտորի և կործանարարի միջև եղած տարբերությունը: Կոնստրուկտորը և դեստրուկտորը դասի հատուկ անդամ ֆունկցիա են: Կոնստրուկտորը և դեստրուկտորը նույն անվանումն ունեն, ինչ դասը, բայց դեստրուկտորն ունի tilde (~) նշան:Կոնստրուկտորի և կործանարարի միջև հիմնական տարբերությունն այն է, որ կոնստրուկտորն օգտագործվում է օբյեկտին հիշողություն հատկացնելու համար, մինչդեռ դեստրուկտորը օգտագործվում է օբյեկտի տեղաբաշխման հիշողությանը:

Ի՞նչ է կոնստրուկտորը:

Կոնստրուկտորը դասի հատուկ անդամ ֆունկցիա է՝ օբյեկտին հիշողություն հատկացնելու համար: Այն կարող է օգտագործվել տվյալների անդամների համար արժեքներ տրամադրելու համար: Կոնստրուկտորը կանչվում է օբյեկտի ստեղծման ժամանակ: Այն ունի նույն անվանումը, ինչ դասի անվանումը։ Կոնստրուկտորը ոչ մի արժեք չի վերադարձնում: Հետևաբար, այն չի պարունակում վերադարձի տեսակ: Կոնստրուկտորը կարող է նաև ընդունել պարամետրեր: Պարամետրերով կոնստրուկտորը հայտնի է որպես պարամետրացված կոնստրուկտոր:

Կոնստրուկտորի օրինակը հետևյալն է.

հասարակական դասի ուղղանկյուն{

int երկարություն, լայնություն;

հրապարակային ուղղանկյուն (int p, int q){

երկարություն=p;

լայնություն=q;

}

public int հաշվարկ Տարածք(){

վերադարձ (երկարությունլայնություն);

}

}

Ըստ վերը նշված կոդի, կոնստրուկտորն ունի նույն անունը, ինչ դասի անվանումը։ Constructor Rectangle-ն ընդունում է երկու պարամետր: Դրանք p և q են։ P ամբողջ արժեքը վերագրվում է երկարությանը: Q ամբողջ արժեքը վերագրվում է լայնությանը: Calcu alteArea-ում երկարության և լայնության բազմապատկումը հաշվարկվում է ուղղանկյան մակերեսը գտնելու համար: Հիմնական ծրագրում ծրագրավորողը կարող է ստեղծել Rectangle տիպի օբյեկտ և փոխանցել արգումենտները։ օր. Rectangle rect1=new Rectangle(2, 3): Այնուհետև կանչվում է պարամետրացված կոնստրուկտորը և արժեքները վերագրում է երկարությանը և լայնությանը:

Տարբերությունը կոնստրուկտորի և կործանարարի միջև
Տարբերությունը կոնստրուկտորի և կործանարարի միջև

Նկար 01. Կոնստրուկտոր և կործանիչ

Երբ կա կոնստրուկտոր առանց որևէ պարամետրի, այն կոչվում է լռելյայն կոնստրուկտոր:Եթե ծրագրավորողը չի սահմանում կոնստրուկտոր, ապա կկանչվի լռելյայն կոնստրուկտորը: Եթե կա որպես Student դաս, և երբ ծրագրավորողը ստեղծում է Student տիպի օբյեկտ, ապա կանչվում է լռելյայն կոնստրուկտորը: օր. Ուսանող s1=new Student(); Դասում կարող են լինել մի քանի կոնստրուկտորներ՝ տարբեր պարամետրերով և տվյալների տարբեր տեսակներով: Համապատասխան կոնստրուկտորը կարող է կանչվել համապատասխանաբար: Հետևաբար, կոնստրուկտորները կարող են ծանրաբեռնվել։

Ի՞նչ է կործանիչը:

Destructor-ը դասի հատուկ անդամ ֆունկցիա է: Այն օգտագործվում է կոնստրուկտորի կողմից ստեղծված օբյեկտի համար հիշողությունը ապաբաշխելու համար: Դեստրուկտորը կանչվում է, երբ օբյեկտը ոչնչացվում է: Այն իրականացնում է մաքրման պահեստավորում, որն այլևս չի պահանջվում: Ինչպես կոնստրուկտորը, այնպես էլ դեստրուկտորն ունի դասի նույն անունը: Այն նաև պարունակում է տիլդ (~) նշան:

Քայքայիչը ոչ մի արժեք չի վերադարձնում: Ի տարբերություն կոնստրուկտորի՝ դեստրուկտորը ոչ մի պարամետր չի ընդունում։ Այսպիսով, կործանիչը չի աջակցում գերբեռնվածությանը:Դեստրուկտորի հայտարարումը համարվում է լավ ծրագրավորման պրակտիկա, քանի որ այն ազատում է հիշողության տարածքը, և այդ տարածքը կարող է օգտագործվել որոշ այլ օբյեկտներ պահելու համար: Destructor-ի շարահյուսությունը նման է ~className() {}-ին: օր. ~Ուղղանկյուն() {}; Դասարանում կարող է լինել միայն մեկ կործանիչ:

Որո՞նք են նմանությունները կառուցողի և կործանարարի միջև:

  • Եվ կառուցողը, և ապակառուցիչը կապված են օբյեկտների հետ:
  • Եվ կառուցողը և ապակառուցիչը որևէ արժեք չեն վերադարձնում:
  • Եվ կոնստրուկտորը և ապակառուցիչը կոչվում են ավտոմատ կերպով:

Ո՞րն է տարբերությունը կառուցողի և կործանարարի միջև:

Կոնստրուկտոր ընդդեմ կործանիչ

Կառուցիչը դասի հատուկ անդամ է, որն օգտագործվում է օբյեկտին հիշողություն հատկացնելու համար: Destructor-ը դասի հատուկ անդամ է, որն օգտագործվում է օբյեկտի հիշողությունը տեղաբաշխելու համար:
Հրահանգի մեթոդ
Օբյեկտը ստեղծվելիս կանչվում է կոնստրուկտոր: Կոչնչացողը կոչվում է, երբ օբյեկտը ոչնչացվում կամ ջնջվում է:
Օգտագործում
Օբյեկտների համար հիշողություն հատկացնելու համար օգտագործվում է կոնստրուկտոր: Օբյեկտների համար հիշողությունը տեղաբաշխելու համար օգտագործվում է կործանիչ:
Պարամետրեր
Կառուցիչն ընդունում է պարամետրերը: Քայքայիչը չի ընդունում պարամետրերը:
Կոնստրուկտորների և կործանիչների թիվը
Կարող են լինել մի քանի կոնստրուկտորներ՝ տարբեր թվով պարամետրերով և տարբեր տեսակի պարամետրերով: Դասարանում կարող է լինել միայնակ կործանիչ։
Կատարման արագություն
Կառուցիչն ունի նույն անունը, ինչ դասի անունը: Destructor-ը նույն անվանումն ունի, ինչ դասի անվանումը tilde (~) նշանով:
Գերբեռնում
Կառուցիչը կարող է գերբեռնված լինել: Քանդող սարքը չի կարող գերբեռնվել:

Ամփոփում – Կոնստրուկտոր ընդդեմ կործանիչ

OOP-ը ծրագրային ապահովման մշակման ընդհանուր պարադիգմ է: Այն կարող է պարզեցնել բարդ նախագիծը: OOP-ում օգտագործվում են կոնստրուկտոր և դեստրուկտոր: Կոնստրուկտորը և դեստրուկտորը նույն անվանումն ունեն, ինչ դասը, բայց դեստրուկտորն ունի ~ նշան։Կոնստրուկտորի և դեստրուկտորի միջև տարբերությունն այն է, որ կոնստրուկտորն օգտագործվում է օբյեկտին հիշողություն հատկացնելու համար, մինչդեռ դեստրուկտորը օգտագործվում է օբյեկտի տեղաբաշխման հիշողության համար:

Ներբեռնեք Constructor vs Destructor-ի PDF-ը

Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ. Տարբերությունը կառուցողի և կործանարարի միջև

Խորհուրդ ենք տալիս: