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

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

Video: Տարբերությունը ինկապսուլյացիայի և աբստրակցիայի միջև

Video: Տարբերությունը ինկապսուլյացիայի և աբստրակցիայի միջև
Video: Process Scheduling-ը Linux և Windows օպերացիոն համակարգերում - Լիլիթ Կնյազյան 2024, Նոյեմբեր
Anonim

Կապսուլյացիա ընդդեմ Աբստրակցիա

Encapsulation-ը և Abstraction-ը երկու տարբեր, բայց փոխկապակցված հասկացություններ են, որոնք գտնվում են OOP (Օբյեկտ ուղղված ծրագրավորում) լեզուներում: Էկապսուլյացիան տվյալների և վարքագծի համատեղման հայեցակարգն է որպես մեկ ամբողջություն: Մյուս կողմից, Աբստրակցիան այն գործընթացն է՝ ներկայացնելու, թե ինչպես է կազմակերպությունն իրեն պահում\արտաքին տեսք՝ ի տարբերություն այն իրագործման:

Ի՞նչ է ինկապսուլյացիան:

Կապսուլյացիան տվյալների և դրանց վրա գործող գործողությունների փաթեթավորման գործընթացն է մեկ անձի մեջ: Սա ըստ էության նշանակում է, որ տվյալների հասանելիության համար պետք է օգտագործվեն որոշակի նախապես սահմանված մեթոդներ:Այլ կերպ ասած, encapsulated տվյալները ուղղակիորեն հասանելի չեն: Սա ապահովում է, որ տվյալների ամբողջականությունը պահպանվի, քանի որ օգտագործողը չի կարող ուղղակիորեն մուտք գործել և փոփոխել տվյալները, ինչպես ցանկանում է: Օգտագործողները կստանան կամ կսահմանեն տվյալների արժեքները միայն այն մեթոդների միջոցով, որոնք հասանելի են օգտատերերին: Այս մեթոդները սովորաբար ապահովում են տվյալների վավերացում, որպեսզի միայն համապատասխան ձևաչափով տվյալները թույլատրվեն դաշտերում զետեղել: Հետևաբար, Encapsulation-ի առավելությունները եռակի են: Encapsulation-ի միջոցով ծրագրավորողը կարող է դասի դաշտեր պատրաստել միայն կարդալու կամ գրելու համար: Երկրորդ, դասը կարող է լիակատար վերահսկողություն ունենալ իր դաշտերում պահվողի վրա: Վերջապես, դասի օգտվողները կարիք չունեն անհանգստանալու, թե ինչպես են պահվում նրա տվյալները: Java-ում ծրագրավորողը կարող է բոլոր օրինակների փոփոխականները հայտարարել մասնավոր և տրամադրել get and set մեթոդներ (որոնք հանրային են) մուտք գործելու և փոփոխելու մասնավոր դաշտերը:

Ի՞նչ է աբստրակցիան?

Աբստրակցիան ներկայացման մանրամասները իրականացման մանրամասներից առանձնացնելու գործընթաց է:Դա արվում է այնպես, որ մշակողը ազատվի իրականացման ավելի բարդ մանրամասներից: Փոխարենը, ծրագրավորողը կարող է կենտրոնանալ ներկայացման կամ կազմակերպության վարքագծային մանրամասների վրա: Պարզ ասած, վերացականությունը կենտրոնանում է այն բանի վրա, թե ինչպես կարող է օգտագործվել որոշակի էակ, այլ ոչ թե ինչպես է այն իրականացվում: Աբստրակցիան, ըստ էության, թաքցնում է իրականացման մանրամասները, այնպես որ, եթե նույնիսկ իրականացման մեթոդաբանությունը ժամանակի ընթացքում փոխվի, ծրագրավորողը ստիպված չի լինի անհանգստանալ, թե ինչպես դա կազդի իր ծրագրի վրա: Համակարգը կարող է վերացարկվել մի քանի շերտերում կամ մակարդակներում: Օրինակ, ցածր մակարդակի աբստրակցիոն շերտերը կբացահայտեն ապարատային մանրամասները, մինչդեռ բարձր մակարդակի աբստրակցիան միայն կբացահայտի կազմակերպության բիզնես տրամաբանությունը: Աբստրակցիա տերմինը կարող է օգտագործվել ինչպես էության, այնպես էլ գործընթացի համար, և դա հանգեցնում է որոշակի շփոթության: Որպես գործընթաց՝ վերացականությունը նշանակում է էական մանրամասներ հանել՝ միաժամանակ անտեսելով առարկայի կամ իրերի խմբի ոչ էական մանրամասները, մինչդեռ որպես ամբողջություն՝ վերացականությունը նշանակում է էության մոդել կամ տեսակետ միայն էական մանրամասներով:Java-ում ծրագրավորողը կարող է օգտագործել abstract հիմնաբառը՝ դասը որպես վերացական էություն հայտարարելու համար, որը ներկայացնում է իրական աշխարհի էության հիմնական որոշիչ բնութագրերը:

Ո՞րն է տարբերությունը Encapsulation-ի և Abstraction-ի միջև:

Չնայած Encapsulation-ը և Abstraction-ը շատ կապված հասկացություններ են, որոնք հայտնաբերված են Օբյեկտ-կողմնորոշված ծրագրավորման լեզուներում, դրանք ունեն հիմնական տարբերություններ: Աբստրակցիան տեխնիկա է, որն օգնում է մեզ պարզել, թե ինչ պետք է տեսանելի լինի և ինչը՝ թաքնված։ Էկապսուլյացիան տեղեկատվության փաթեթավորման տեխնիկան է, որպեսզի տեսանելի դարձնի այն, ինչ պետք է տեսանելի լինի և թաքցնի այն, ինչ պետք է թաքցվի: Այլ կերպ ասած, Encapsulation-ը կարելի է նույնացնել որպես վերացականությունից մեկ քայլ: Մինչ աբստրակցիան նվազեցնում է իրական աշխարհի օբյեկտը մինչև իր էական որոշիչ հատկանիշները, encapsulation-ը ընդլայնում է այս գաղափարը՝ մոդելավորելով և կապելով այդ էության այս ֆունկցիոնալությունը:

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