Տարբերություն տնօրինման () և վերջնական տեսքի () միջև

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

Տարբերություն տնօրինման () և վերջնական տեսքի () միջև
Տարբերություն տնօրինման () և վերջնական տեսքի () միջև

Video: Տարբերություն տնօրինման () և վերջնական տեսքի () միջև

Video: Տարբերություն տնօրինման () և վերջնական տեսքի () միջև
Video: Ո՞րն է քրիստոնեության և մահմեդականության տարբերությունը 2024, Նոյեմբեր
Anonim

Հիմնական տարբերություն – տնօրինել () ընդդեմ վերջնականացնել ()

Տարադրել () և վերջնականացնել () միջև հիմնական տարբերությունն այն է, որ dispose ()-ը պետք է բացահայտորեն կանչվի ծրագրավորողի կողմից, մինչդեռ վերջնական ()-ը կանչվում է աղբահանողի կողմից մինչև օբյեկտը ոչնչացնելը:

Տեղադրումը () մեթոդ է փակելու կամ ազատելու չկառավարվող ռեսուրսները, ինչպիսիք են ֆայլերը, հոսքերը, որոնք պահվում են օբյեկտի կողմից: Վերջնականացումը մեթոդ է՝ մաքրման գործողություններ իրականացնելու չկառավարվող ռեսուրսների վրա, որոնք պահվում են ընթացիկ օբյեկտի կողմից՝ նախքան օբյեկտի ոչնչացումը:

Ի՞նչ է dispose()?

-ի ամենակարևոր առավելություններից մեկը. NET շրջանակն այն է, որ այն ապահովում է աղբի ավտոմատ հավաքում: Այն ավտոմատ կերպով ազատում է չօգտագործվող օբյեկտների հիշողությունը: Ծրագրավորման լեզուներում, ինչպիսիք են C և C++-ը, ծրագրավորողը պետք է ինքնուրույն կառավարի հիշողության կառավարումը: Բայց այնպիսի լեզուներով, ինչպիսին է C-ը, որը կառուցված է. NET Framework-ի վրա, ապահովում է աղբահանող սարքը: Այն օգնում է կառավարել հիշողությունը։ Այն չի կարող օգտագործվել չկառավարվող հիշողության ռեսուրսները ազատելու համար: Այս առաջադրանքին հասնելու համար կարող է օգտագործվել dispose () մեթոդը:

Տարբերությունը տնօրինելու () և վերջնականացնելու () միջև
Տարբերությունը տնօրինելու () և վերջնականացնելու () միջև

Հեռացնել () մեթոդը կարող է օգտագործվել ռեսուրսներ թողարկելու համար, ինչպիսիք են տվյալների բազայի միացումները, ֆայլերի մշակիչները և այլն: Այս մեթոդը ինքնաբերաբար չի կոչվում: Հետեւաբար, ծրագրավորողը պետք է իրականացնի այս մեթոդը: Հենց որ այս մեթոդը գործարկվի, տվյալ չկառավարվող ռեսուրսի հիշողությունն ազատվում է: Այս մեթոդը հայտարարված է IDisposeable ինտերֆեյսում:

Ի՞նչ է վերջնական ()?

Վերջնականացման մեթոդը կանչվում է միայն աղբահանի կողմից, երբ օբյեկտի հղումը հետագայում չի օգտագործվում: Այս մեթոդը կոչվում է օբյեկտը ոչնչացնելուց անմիջապես առաջ: Այս մեթոդն իրականացվում է դեստրուկտորի օգնությամբ։ Վերջնականացման մեթոդը սահմանվում է java.lang.object դասում: Այս մեթոդը հայտարարված է որպես պաշտպանված: Այն չի հայտարարվում որպես հրապարակային՝ մյուս դասերի մուտքից խուսափելու համար: Ընդհանուր առմամբ, վերջնականացման մեթոդը կարող է նվազագույնի հասցնել ծրագրի կատարումը, քանի որ այն անմիջապես չի ազատում հիշողությունը:

Ո՞րն է նմանությունը ցրելու () և վերջնականացնելու () միջև:

Եվ dispose () և finalize() կարող են օգտագործվել չկառավարվող ռեսուրսի համար հատկացված հիշողությունը ազատելու համար:

Ո՞րն է տարբերությունը տնօրինելու () և վերջնականացնելու () միջև:

տարածել () vs վերջնականացնել ()

Տարադրումը () մի մեթոդ է փակելու կամ ազատելու չկառավարվող ռեսուրսները, ինչպիսիք են ֆայլերը, հոսքերը, որոնք պահվում են օբյեկտի կողմից: Վերջնականացումը մեթոդ է՝ մաքրման գործողություններ իրականացնելու չկառավարվող ռեսուրսների վրա, որոնք պահվում են ընթացիկ օբյեկտի կողմից, նախքան օբյեկտի ոչնչացումը:
Նպատակ
Հարցման մեթոդն օգտագործվում է չկառավարվող ռեսուրսներն ազատելու համար, երբ այն կանչվում է: Վերջնականացման մեթոդն օգտագործվում է չկառավարվող ռեսուրսները ազատելու համար՝ նախքան օբյեկտի ոչնչացումը:
Սահմանված միջերես կամ դաս
Տեղադրումը () սահմանվում է IDdisposable ինտերֆեյսում: Վերջնականացումը () սահմանվում է java.lang.object դասում:
կանչելու մեթոդ
Հարցման մեթոդը կանչվում է ծրագրավորողի կողմից: Վերջնականացման մեթոդը կանչվում է աղբահանի կողմից:
Մուտքի ցուցիչ
Հեռացման եղանակը հրապարակային է: Վերջնականացման մեթոդը պաշտպանված է:
Արագություն
Հարցման մեթոդը կանչվում է ակնթարթորեն: Վերջնականացման մեթոդը դանդաղ է կանչվում:
Կատարում
Հեռացումը չի նվազեցնի ծրագրի կատարումը: Վերջնականացման մեթոդը կարող է նվազագույնի հասցնել ծրագրի արդյունավետությունը:

Ամփոփում – տնօրինել () ընդդեմ վերջնականացնել ()

Այս հոդվածը քննարկեց C-ում ցրելու և վերջնականացնելու մեթոդների տարբերությունը: Հեռացնելու () և վերջնականացնելու () միջև տարբերությունն այն է, որ dispose ()-ը պետք է բացահայտորեն կանչվի ծրագրավորողի կողմից, մինչդեռ վերջնական ()-ը կանչվի աղբահանի կողմից՝ նախքան օբյեկտը ոչնչացնելը:

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