• Գլխավոր
  • Լուրեր
    • Առողջապահություն
    • Անվտանգություն
    • Արհեստական Ինտելեկտ
    • Էկոլոգիա
    • Մեքենաշինություն
    • Ռոբոտաշինություն
    • Համացանց
    • Համակարգիչ
    • Սմարթֆոն
    • Սոցցանց
    • Google
    • Microsoft
    • Hi-Tech
  • Վեբ
    • PHP
    • HTML
      • HTML5
    • CSS
      • CSS3
    • JavaScript
      • jQuery
    • WordPress
  • SQL
  • Թեստեր
    • PHP
    • MySQL
    • HTML
    • JavaScript
    • CSS
  • Ֆորում
  • Հետադարձ կապ
IT-Blog.am
Տեղեկատվական տեխնոլոգիաների պորտալ
  • Գլխավոր
  • Լուրեր
    • Առողջապահություն
    • Անվտանգություն
    • Արհեստական Ինտելեկտ
    • Էկոլոգիա
    • Մեքենաշինություն
    • Ռոբոտաշինություն
    • Համացանց
    • Համակարգիչ
    • Սմարթֆոն
    • Սոցցանց
    • Google
    • Microsoft
    • Hi-Tech
  • Վեբ
    • PHP
    • HTML
      • HTML5
    • CSS
      • CSS3
    • JavaScript
      • jQuery
    • WordPress
  • SQL
  • Թեստեր
    • PHP
    • MySQL
    • HTML
    • JavaScript
    • CSS
  • Ֆորում
  • Հետադարձ կապ
Գլխավոր  /  PHP • Web  /  Ինկապսուլացիա (Encapsulation)
encapsulation
17 Օգոստոսի 2016

Ինկապսուլացիա (Encapsulation)

Հեղինակ Տարոն
PHP, Web

Ողջույն հարգելի ընթերցողներ։ Ինչպես խոստացել էի օբյեկտ կողմնորոշված ծրագրավորման մասին հոդվածում՝ այսօր կխոսեմ ՕԿԾ-ի հիմնական գաղափարներից մեկի՝ ինկապսուլացիայի (encapsulation) մասին։

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

Ինկապսուլացիայի օրինակ, իրական կյանքում, կարող է հանդիսանալ ավտոմեքենայի փոխանցման տուփը։ Վարորդը հասանելիություն չունի փոխանցման տուփում կատարվող գործողություններին։ Նա կարող է ազդեցություն ունենալ այդ համակարգի վրա միայն փոխանցման լծակի օգնությամբ։ Ավտոմատ փոխանցման տուփում կատարվող գործողությունները ինկապսուլացված են, այդ իսկ պատճառով յուրաքանչյուր արտադրող կարող է իրականցնել այդ գործողությունները յուրովի։

Նմանատիպ սկզբունք կարելի է կիրառել ծրագրավորման ոլորտում։ Ինկապսուլացված կոդի առավելությունը կայանում է նրանում, որ բոլորին հայտնի է, թե ինչպես հասանելիություն ստանալ այդ կոդին, և այն կարող են օգտագործել, առանց իմանալու, թե ինչպես է այն իրականացված։

Ինկապսուլացիայի հիմքը հանդիսանում է կլասը։ Կլասը ստեղծելիս հայտարարվում են կոդը և տվյալները, որոնք կազմում են այդ կլասը։ Այս տարրերը միասին կոչվում են կլասի անդամներ։ Կլասում հայտարարված տվյալները կոչվում են կլասի փոփոխական-անդամներ կամ հատկություններ (տարբեր ծրագրավորման լեզուներում դրանց տարբեր կերպ են անվանում), իսկ կոդը, որը ղեկավարում է այդ տվյալները՝ մեթոդներ կամ ֆունկցիաներ (կրկին այս տարբերությունը կախած է ծրագրավորման լեզուներից)։ Ճիշտ գրված ծրագրերում մեթոդները որոշում են, թե ինչպես են օգտագործվելու փոփոխական-անդամները։

Ինչպես արդեն նշեցի, ինկապսուլացիայի հիմքը հանդիսանում է կլասը, որում յուրաքանչյուր անդամ (մեթոդ կամ փոփոխական-անդամ) կարող է հայտարարվել բաց կամ փակ։ Բաց հանդիսանում են այն անդամները, որոնց կարող են կամ պետք է հասանելիություն ունենան արտաքին միջավայրի կոդերը։ Փակ անդամներն այն անդամներն են, որոնք հասանելի են միայն տվյալ կլասի անդամներին։ Հետևաբար յուրաքանչյուր այլ կոդ, որը չի հանդիսանում տվյալ կլասի անդամ՝ չի կարող հասանելիություն ունենալ կլասի փակ անդամներին։ Կլասի փակ անդամները կարող են հասանելի լինել կոդի այլ հատվածներին բաց անդամների միջոցով։ Դրա շնորհիվ բացառվում է արտաքին կոդի կողմից սխալ գործողությունների իրականացումը։ Դա, իհարկե, նշանակում է, որ բաց ինտերֆեյսը պետք է մանրակրկտորեն նախագծվի և չպետք է շատ բացահայտի կլասի ներքին կառուցվածքը։

Այսքանը ինկապսուլացիայի վերաբերյալ։ Ասվածը կոդի տեսքով կքննարկենք հետագա հոդվածներում։

Որևէ հարցի դեպքում կարող եք դիմել մեզ մեկնաբանությունների կամ քննարկումների բաժիններում։

Շնորհակալություն մեր բլոգից օգտվելու համար։

 

Կապված գրառումներ

  • WordPress -ի տեղադրումը .Net -ի վրա

    03/16/2017
  • mysql transaction

    MySQL գործարքի(transaction) կառավարման օպերատորներ

    11/19/2016
  • Class

    Կլասների (classes) գրելաձևը (syntax)

    10/20/2016
Facebook
  • Շատ Դիտված Գրառումներ
  • Նոր գրառումներ
  • Calculator
    Հաշվիչի (calculator) պատրաստում 04/18/2016
  • Recursion
    Ռեկուրսիա (recursion) հասկացությունը 06/02/2016
  • Icon տառատեսակներ 02/21/2016
  • MySQL joins
    MySQL JOINS (MySQL միացումներ) 06/13/2016
  • Սուպերգլոբալ փոփոխականներ (superglobals) 03/24/2016
  • Ի՞նչ է Pi Network-ը և ինչպե՞ս վաստակել Pi 03/27/2020
  • Honda-ն ներկայացրել է մոտոցիկլետ, որն օգտագործում է քամու էներգիա 12/23/2017
  • Նոր 3D-տպիչ սարքը ստեղծում է առարկաներ վայրկյանների ընթացքում 12/22/2017
  • Հետազոտողներն օգտագործում են էլեկտրական հոսանքներ`մարդու հյուսվածքներում քաղցկեղի հայտնաբերման համար 12/18/2017
  • Nvidia ընկերությունը ներկայացրել է երբևէ ստեղծված ամենահզոր գրաֆիկական պրոցեսորը 12/16/2017
  • WordPress -ի տեղադրումը .Net -ի վրա 03/16/2017
  • Class
    Կլասների (classes) գրելաձևը (syntax) 10/20/2016
  • encapsulation
    Ինկապսուլացիա (Encapsulation) 08/17/2016
  • object oriented programming
    Օբյեկտ կողմնորոշված ծրագրավորում (OOP) 07/04/2016
  • Ի՞նչ է Pi Network-ը և ինչպե՞ս վաստակել Pi 03/27/2020
  • Honda-ն ներկայացրել է մոտոցիկլետ, որն օգտագործում է քամու էներգիա 12/23/2017
  • Նոր 3D-տպիչ սարքը ստեղծում է առարկաներ վայրկյանների ընթացքում 12/22/2017
  • mysql transaction
    MySQL գործարքի(transaction) կառավարման օպերատորներ 11/19/2016
  • MySQL Trigger
    MySQL տրիգերներ (Triggers) և իրադարձություններ(Events) 10/04/2016
  • Procedures and Functions
    MySQL ընթացակարգեր (procedures) և ֆունկցիաներ (functions) 08/31/2016
  • MYSQL View
    MySQL ներկայացումներ (VIEWS) 07/16/2016
  • WordPress -ի տեղադրումը .Net -ի վրա 03/16/2017
  • SEO խրվակներ WordPress-ի համար 04/25/2016
  • Ծանոթացում WordPress-ի կառավարակետի հետ (մաս 2) 02/24/2016
  • Ի՞նչ է CMS-ը 02/17/2016
© 2020 թ.  IT-Blog.am Բոլոր հեղինակային իրավունքները պաշտպանված են:

Սույն կայքում տեղադրված նյութերի հեղինակային իրավունքը պատկանում է բացառապես IT-Blog.am կայքի հեղինակներին և կայքում բոլոր հրապարակված նյութերն անհատական օգտագործման համար են։ Այս կայքում  հրապարակված նյութերի (մասնակի կամ ամբողջական) վերահրապարկումը տեղեկատվություն տարածող այլ միջոցներում (բացառությամբ սոցկայքերի) արգելված է։ Խախտում թույլ տված անձինք կենթարկվեն պատասխանատվության` օրենքով սահմանված կարգով։